MaxL: expand variable

Dear all,On Win2000, Essbase 7.1.2 When a variable is between single quote it is interpreted literally and not expanded this is what happens in the following script:create or replace ...area '@IDESC("Mbr"), $PERIOD, ...'to app.dbarea '@IDESC("Mbr"), $PERIOD, ...'...however if I define the folowing script, adding extra single quotes to my PERIOD variable :create or replace ...area '@IDESC("Mbr"), '$PERIOD', ...'to app.dbarea '@IDESC("Mbr"), '$PERIOD', ...'...then I'll have this result:create or replace ...area '@IDESC("Mbr"), 'JAN', ...'to app.dbarea '@IDESC("Mbr"), 'JAN', ...'...which is not interpreted by MaxL becquse of single quotes.I don't understand what the hell is happening!!I tested this also with Essbase 7.1.3 on Win2000 and Win2003. It seems that this work on UNIX.Is there any setting to include in the *.msh file or something, are there someworkaround for this issue?Help would be greatly appreciated, thanks!Best regards,SR

If the sub var is set at application level try
alter application appname set variable varname "varvalue";
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • MaxL positional variables when defining a partition

    Is anyone using positional variables ($1, $2, etc) in Maxl with a create replicated partition statement?<BR><BR>I am having trouble getting it to work.<BR><BR>create or replace replicated partition 'Sample'.'Basic'<BR>area '"A.Volume.Pounds",@GENMBRS("Time Periods","Gen4,Time Periods"),@LEVMBRS("Entity","Lev0,Entity"),@LEVMBRS("Brands","Lev0,Brands"),"TOTCUST","$1","$2","$3"' sourcearea1<BR>to 'Sample'.'Test' at 'localhost' as 'user' identified by 'password'<BR>area '"A.Volume.Pounds",@GENMBRS("Time Periods","Gen4,Time Periods"),@LEVMBRS("Entity","Lev0,Entity"),@LEVMBRS("Brands","Lev0,Brands"),"$4","$5","$6"' targetarea1<BR>mapped targetarea1('"TOTCUST"') to ('')<BR>mapped globally ('"$1"') to ('"$4"')<BR>mapped globally ('"$2"') to ('"$5"')<BR>mapped globally ('"$3"') to ('"$6"')<BR>outline direct<BR>update disallow;<BR><BR><BR>When passing the parameters through the command line, actually a bat file, I am doing the following: essmsh D:\\MaxL\Test.mxl actual final FY05 budget working FY05<BR><BR>My error messages are coming back stating WARNING - 1241137 - [Target] - Partition definition is not valid: [Invalid member '$1' in global map].<BR><BR>I figure this is either a syntax issue with quotes or for some reason positional variables do not work when defining partitions.<BR><BR>Any input would be appreciated.<BR><BR>Thanks.<BR>

    I played around with \ but couldn't get it to work. What I've come up with is a bat file that writes a MaxL script and then calls the script it just wrote. During the process of writing the MaxL script I am able to substitute in the input values for the variables. So as far as Essbase is concerned the MaxL script is hard coded with no variables at all. Upon completion, the bat file deletes the MaxL script it wrote to prevent people from opening the file and seeing things like passwords etc. It's extra work and I'm just polishing it off now, but I actually think it's working pretty well.<BR><BR>Thanks for the input.<BR>

  • MaxL display variable command

    Trying to use the MaxL command display variable to output a specific variable from a specific application & database. Can't seem to get it to work.Can someone provide the correct syntax(I have tried several iteratiosn and nothing seemed to work)display variable curryr on database appname.dbname;where currfy is the variable name.ThanksTom

    It is going to display everything. You'll have to use OS level scripting to get the desired result. Something like
    findstr /C:"BudgetYear" input > output
    Regards
    Celvin
    http://www.orahyplabs.com

  • [solved] How to avoid expanding variables with sed?

    Stupid question probably..
    Say I have a script that uses the variable $HOME, and I want to replace it with /another/dir using sed
    I try something like..
    sed -i "s_$HOME/file_/another/dir/file_g" script.sh
    but its a no go, I think sed expands $HOME to /home/tj and fails to find it in the script. How to avoid this?
    Last edited by tjwoosta (2011-03-02 05:57:06)

    alternatively you could escape the $, if you wanted to mix some expanded vars and some not:
    sed -i "s_\$HOME/file_/another/dir/file_g" script.sh
    That should also work.

  • Maxl set variable

    Hi,
    I'm trying to change a Subvariable with maxl. The Subvar is defined for all databases in the application (all dbs)
    I know that can update subvars in just 1 database (Appname.DBname...) but is there any way to change subs defined für all dbs ?
    alter database 'abc'.'ddd' set variable .......";
    Thank in advance
    M

    If the sub var is set at application level try
    alter application appname set variable varname "varvalue";
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Use of Essbase substitution variables in filename of a MaxL report script

    Hey guys.
    Is there a way that I can embed the value of one or more Essbase substitution variables in the filename of a report script in a MaxL command?
    I'm running a report script that uses sub. vars for entities and accounts and based on which of those members are set in the variables I want the filenames to include those member names. I'm looking for a way to include the &varName in the filename using the export database command.
    THANKS!

    Not really.
    If you want to do a lot of string mangling in a script outside of the report script, you can use DISPLAY VARIABLE:
    MAXL> display variable CurMo;
    application         database            variable            value
    +-------------------+-------------------+-------------------+-------------------
                                             CurMo               MayRegards,
    Robb Salzmann

  • Double Quotes in MaxL Strings

    I am trying to pass in a calc script string from a Perl script to a MaxL script. The calc script needs double quotes around some of the member names (yes, I know I can create aliases with underscores to work around this, but I can't believe this isn't possible). I can escape the double quote characters in Perl, no problem. But the double quotes just get stripped by MaxL. Here is an example:<BR><BR>MAXL> echo 'I am "quoting" this';<BR><BR>I am "quoting" this<BR><BR>MAXL> set X = 'I am "quoting" this';<BR><BR>MAXL> echo $X;<BR><BR>I am quoting this<BR><BR>MAXL><BR><BR>There is nothing in the docs about escaping double quote characters. I've tried using backslash, no luck there. I've tried using double double quotes and they all get stripped. I've tried doing this inside single quoted strings and double quoted strings - no joy whatsoever. The funny thing is the example above, where simply echoing the literal string works, but assigning it to a variable strips out the double quotes.<BR><BR>Does anyone know how to get double quotes into a MaxL string variable? There has to be a way...<BR><BR>Thanks,<BR><BR>James

    Yes, I've dealt with enclosing variables in double quotes in order for MaxL to parse them properly, but what I'm trying to do is use a variable that contains a double quote. Such as:<BR><BR> set QuoteVar = 'I am "quoting" this';<BR><BR>I'm trying to set substitution variables via MaxL, and some of my existing sub vars have double quotes in them so that they can be used to store member names that appear in calc scripts. As I said, I know I can accomplish this with an alias table that creates a version of the member name that doesn't need quotes, but that's a whole deal to maintain just for this one thing and it seems overly burdensome for such a simple task.<BR><BR>Also, as I said, MaxL does fine with double quotes in literal strings, it's only when assigned to variables that it always strips them out. I want to create a relatively generic script for setting sub vars, so I need to pass variables around. Just calling MaxL from Perl and passing in parameters that get converted to $1, $2, etc. causes these double quotes to get stripped.<BR><BR>So, is there any way around this?<BR><BR>Thanks,<BR><BR>James

  • How to get the variable value in a flatfile

    I have some 2 line string in a variable I wanted to see this value in a flat file.
    Thanks,
    Narthan

    Hi Narthan,
    If I understand correctly, you want to use some variables in a Flat File Connection Manager. If in this case, we can use variables in a Property of Flat File Connection Manager. For more details, please refer to the following steps:
    Click the Flat File Connection Manager in Connection Manager tab, then navigate to Properties window.
    Click “…” next to the Expressions property to open the Property Expressions Editor.
    In the Property Expressions Editor dialog box, select the corresponding property at the Property drop-down list.
    Click “…” next to the Expressions property to open the Expression Builder, then expand Variables and Parameters folder to select the variable.
    Reference:
    http://www.mssqltips.com/sqlservertip/1084/dynamic-flat-file-connections-in-sql-server-integration-services/
    If there are any misunderstanding, please elaborate the issue for further investigation.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • F4 Value Help for Bex Variable (BRAIN646)

    Hi ,
       I set a authorization variable which allow user to select in a Bex query . When I run query and click value help on that variable, the system keep send a warning msg like :
    Value if variable ZVAPLAMS is automatically converted
    Message no. BRAIN646
    Is there any way to suppress this warnning msg?
    Thx,
    Jeff

    Hi Sims,
    I had also the same Problem (BRAIN 646). I've debugged the Query with transaction rsudo -> Execute User as "User with warning" -> Possible Transaction "RSRT" -> Start Transaction.
    The Transaction RSRT is opened and you can now debug your Query by klicking on "Execute + Debug" -> Expand "Variables" and activate "Customer Exit Variable (Before)".
    Don't forget to enter your Queryname.
    You are in Debuging-Mode and set Break-Points (see screenshots)
    1. Set break-point on FORM VALUE_FROM_AUTHORITY_FILL then F8 and get in with F5
    2. Set break-point on  IF l_i1 <> l_i2. then F8 and you get your cursor on IF l_i1 <> l_i2.
    You may see, if internal tables "l_i1" and "l_i2" have the same count of rows. If not take a look at   "l_i1", if there Interval value exist, if internal value do exist. If interval values do exist and in "l_i2" doesn't than you have replace your variable " ZVAPLAMS" with another Variable (selection option). It has to be "Selection Option", than only selection option variable accept single values and interval values.
    Regards
    Wanda Soetomo

  • System PATH environment variable issue when user log off and log in or switch from admin to non-admin account

    Hi,
    Problem Description:
    After installing my new product version, when user does log-off and log in again into admin account
    or switch from admin account to non-admin account, PATH environment variable shows incorrect path of my product (previous product version’s path) using command prompt.
    It seems windows refresh issue during session changes (log off and log in / switch from Admin to
    Non-admin account).
    Why PATH environment variable is not refresh immediately after log off and log in again or Switch
    from admin to non-admin mode?. 
    Please see my thread for more details http://social.msdn.microsoft.com/Forums/vstudio/en-US/445ab42c-bdff-405a-8d53-558e1b6c7d34/path-environment-variable-issue-when-user-logoff-and-login-or-switch-from-admin-to-nonadmin?forum=windowsgeneraldevelopmentissues
    Also submitted bug for this in connect.microsoft.com portal.In that it has lots of information
    like problem statement, Reproduction steps and Expected Results.
    Bug ID: 871782
    Could you please any body help me for this?. your support will be appreciated.
    Thanks,
    Marichamy

    Why PATH environment variable is not refresh immediately after log off and log in again or Switch
    from admin to non-admin mode?. 
    I wouldn't have any expectation of what you are doing to work the way you expect.  E.g. why is the %ABC% being replaced at all?  There is some help about this ambiguous scenario in the cmd help...
    /V:ON Enable delayed environment variable expansion using ! as the
    delimiter. For example, /V:ON would allow !var! to expand the
    variable var at execution time. The var syntax expands variables
    at input time, which is quite a different thing when inside of a FOR
    loop.
    /V:OFF Disable delayed environment expansion.
    So, what's the setting for the /V:  switch that your users would be using?  Perhaps you should be using the ! instead of the % for your ABC variable?
    Oh.  There's more below where I found that...
    Delayed environment variable expansion is NOT enabled by default. You
    can enable or disable delayed environment variable expansion for a
    particular invocation of CMD.EXE with the /V:ON or /V:OFF switch. You
    can enable or disable delayed expansion for all invocations of CMD.EXE on a
    machine and/or user logon session by setting either or both of the
    following REG_DWORD values in the registry using REGEDIT.EXE:
    HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
    and/or
    HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
    to either 0x1 or 0x0. The user specific setting takes precedence over
    the machine setting. The command line switches take precedence over the
    registry settings.
    In a batch file the SETLOCAL ENABLEDELAYEDEXPANSION or DISABLEDELAYEDEXPANSION
    arguments takes precedence over the /V:ON or /V:OFF switch. See SETLOCAL /?
    for details.
    If delayed environment variable expansion is enabled, then the exclamation
    character can be used to substitute the value of an environment variable
    at execution time.
     So, I guess the essence of your "bug" will boil down to whether you
    need the feature to get the result you want and the
    truth of that first sentence but it certainly looks like a "can of worms" to me.   ; )
    HTH
    Robert Aldwinckle

  • Clearing Out Bleeding Scripts when using GWMI

    OK, so I may be in the minority, but I don't like when the scripts I write bleed all over my screen.  And when I use GWMI, I find that they bleed more often than not.  See, I often work with systems that I don't have access to, and when I use GWMI
    (even with the ever popular "-ErrorAction SIlentlyContinue", a personal friend of mine), my scripts leave blood all over the screen.  So, I went out to figure out the issue.  It appears that the error returned by GWMI with you don't have
    access to a computer is not returned at the PowerShell level, but through the OS itself.  So when you have a group of computers and run something like:
    Get-WmiObject -computer $Server Win32_OperatingSystem -ErrorAction SilentlyContinue
    You get something back like:
    Get-WmiObject : Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    At line:1 char:14
    + Get-WmiObject <<<<  -computer $Server Win32_OperatingSystem
        + CategoryInfo          : NotSpecified: (:) [Get-WmiObject], UnauthorizedAccessException
        + FullyQualifiedErrorId : System.UnauthorizedAccessException,Microsoft.PowerShell.Commands.GetWmiObjectCommand
    (OK, yeah, it's exactly like that, thanks to cut and paste and a bit of formatting.) Anyway, since I have a script that calls WMI for OS info, disk info, boot info, ... in fact, info about several other things, all this bleeding on my screen was giving me
    heartaches.
    So I went about trying to find a way around it.  Turns out that other commands fail, but catch the issue at a higher level:  for example, Get-ChildItem gives "Cannot find path '\\ServerName\c$' because it does not exist." and works with
    -ErrorAction.  While this would work, what if the item really doesn't exist and Windows is installed on the D: drive?  That wouldn't help much, and I wanted to find a way to shunt my WMI requests only if the server had an access denied.
    I finally found that the DOS command running "net use \\ServerName\C$" will return the denied access error, and you can keep it from bleeding on the screen, but you have to do it wisely.  First, you need to use what .Net calls "[Diagnostics.Process]
    Start()".  To use this, I created the following function:
    function Chk-ServerAccess {
        param($Server, $Share)
        $PSAccessTest = New-Object System.Diagnostics.Process
        $PSAccessTest.StartInfo.FileName = "NET"
        $PSAccessTest.StartInfo.Arguments = ' VIEW
    \\' + $Server + '\' + $Share+ '$'
        $PSAccessTest.StartInfo.RedirectStandardError = $true
        $PSAccessTest.StartInfo.UseShellExecute = $FALSE
        $PSAccessTest.Start() | Out-Null
        $StdErr = $PSAccessTest.StandardError.ReadToEnd()
        -not ($StdErr -match 'Access is denied.')
    } # Chk-ServerAccess
    This function returns Boolean True if you can access the server and Boolean false if you can't.  You initialize a variable of type "System.Diagnostics.Process".  Then you set the command (file name) as "NET" (ignoring the fact
    this isn't really a file, but an internal Windows OS command).  Build the arguments using the variable for your server name and an admin share you should be able to access on the server (you can also build it with "VIEW
    \\$Server\$Share`$", if you prefer expanding variables inside the text string).  Make sure you redirect standard error - we don't really care about standard output, but we need to catch the error.  We also
    need to make sure we set UseShellExecute to false so we can redirect any output (including errors).
    Once we are ready, we run the command by starting it ($PSAccessTest.Start() | Out-Null) - note that we pipe this to Out-Null - we do this so we don't have a spurious "True" returned by our script accidentally. Once run, we capture the error
    output into a variable ($StdErr, in this case) and test to see if it matches 'Access is denied'.  If it doesn't, we return true, meaning you have rights to the admin share you wish to access on the server.  And it doesn't throw any blood to the screen
    - making it possible to then run your GWMI commands without having your friends wondering what your script is doing to their servers.
    I just love when you start a script and it ends with nothing but white output on the screen.  Hope this helps someone else out there ...
    Will Martin

    Hi Willard Martin,
    I’m writing to just check in to see if the suggestions were helpful. If you need further help,
    please feel free to reply this post directly so we will be notified to follow it up.
    If you have any feedback on our support, please click here.
    Best Regards,
    Anna
    TechNet Community Support

  • Errors in PHP/Oracle article

    Hi,
    There are a few errors in the article dealing with PHP/Oracle located at http://otn.oracle.com/oramag/webcolumns/2003/techarticles/hull_php.html
    In the listing for the section called "How to use a database":
    - $mycursor ora_open ($conn);
    should be
    $mycursor = ora_open ($conn);
    - echo "RESULT: ora_getcolumn ($mycursor, 0), ora_getcolumn ($mycursor, 1) <br>";
    The above is not the way it works in PHP and you won't get the expected results. You can throw variables in between your double-quote delimited strings, but not function calls. You'll have to concatenate the function calls like this:
    echo "RESULT: ".ora_getcolumn ($mycursor, 0).", ".ora_getcolumn ($mycursor, 1)."<br>";

    Leendert:
    Thanks for the comments. The first one is an obvious typo. The second
    is a pretty obvious mistake which I missed while reviewing this. Although
    PHP will expand variables in a string like that, it will not handle
    function calls. How could it. I just tried it, and concatenation works
    just as you suggest. Thanks for the corrections, and we updated the
    article.
    Sean

  • Using predefined WSDL for synchronous client gives error

    Generated a new BPEL project and attached our own WSDL (channelInterface.wsdl) to the client partner link. Specified the one and only operation in the receive and reply activities and auto created the variables in each. All simple stuff and the 'validate' reports 0 errors but upon a Project 'make' the following errors are reported.
    Rather surprised as this seems to be very simple but the generated code does not seem to auto resolve the types. Any help much appreciated.
    Error(19): [Error ORABPEL-10007]: unresolved messageType [Description]: in line 19 of "C:\temp\bpel\Test\BPELProcess1\BPELProcess1.bpel", WSDL messageType "{http://xmlns.oracle.com/BPELProcess1}BPELProcess1RequestMessage" of variable "inputVariable" is not defined in any of the WSDL files. [Potential fix]: Make sure the WSDL messageType "{http://xmlns.oracle.com/BPELProcess1}BPELProcess1RequestMessage" is defined in one of the WSDLs referenced by the deployment descriptor.
    The generated .bpel code is:
    <process name="BPELProcess1" targetNamespace="http://xmlns.oracle.com/BPELProcess1" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20" xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:ns1="http://channel.abi.ukps.sbs" xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:client="http://xmlns.oracle.com/BPELProcess1" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"><!-- ================================================================= --><!-- PARTNERLINKS --><!-- List of services participating in this BPEL process --><!-- ================================================================= -->
    <partnerLinks><!--
    The 'client' role represents the requester of this service. It is
    used for callback. The location and correlation information associated
    with the client role are automatically set using WS-Addressing.
    -->
    <partnerLink name="ch" partnerLinkType="ns1:ChannelInterface_PL" myRole="ChannelInterface_Role"/>
    </partnerLinks><!-- ================================================================= --><!-- VARIABLES --><!-- List of messages and XML documents used within this BPEL process --><!-- ================================================================= -->
    <variables><!-- Reference to the message passed as input during initiation -->
    <variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/><!-- Reference to the message that will be sent back to the
    requester during callback
    -->
    <variable name="outputVariable" messageType="client:BPELProcess1ResponseMessage"/>
    <variable name="Receive_1_SubmitApplication_InputVariable" messageType="ns1:AbISubmissionRequestMessage"/>
    <variable name="Reply_1_SubmitApplication_OutputVariable" messageType="ns1:AbISubmissionResponseMessage"/>
    </variables><!-- ================================================================= --><!-- ORCHESTRATION LOGIC --><!-- Set of activities coordinating the flow of messages across the --><!-- services integrated within this business process --><!-- ================================================================= -->
    <sequence name="main"><!-- Receive input from requestor.
    Note: This maps to operation defined in BPELProcess1.wsdl
    --><!-- Asynchronous callback to the requester.
    Note: the callback location and correlation id is transparently handled
    using WS-addressing.
    -->
    <receive name="Receive_1" partnerLink="ch" portType="ns1:ChannelInterface" operation="SubmitApplication" variable="Receive_1_SubmitApplication_InputVariable" createInstance="yes"/>
    <reply name="Reply_1" partnerLink="ch" portType="ns1:ChannelInterface" operation="SubmitApplication" variable="Reply_1_SubmitApplication_OutputVariable"/>
    </sequence>
    </process>
    The deployment descriptor (bpel.xml) is:
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="BPELProcess1" src="BPELProcess1.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="ch">
    <property name="wsdlLocation">ChannelInterfaceRef.wsdl</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    </BPELProcess>
    </BPELSuitcase>

    when you create a new process (and not choose empty type) we create input and output variables for you
    <variable name="inputVariable" messageType="client:BPELProcess1RequestMessage"/>
    and those still point to the old messagetypes ..
    The easiest way is on you left down side in jdev, when the bpel process is opened in the diagram mode you should see the structure (structure pane).. expand variables node and edit those 2 variables, within them right click on the part named payload and choose the new messagetype it is supposed to have
    hth clemens

  • How to remove space between the lines

    Hi,
    In my repoprt output I am getting space between the lines. I have changed
    the repeating frame and field -> vertical elasticity and horizontal elasticity to fallowing combinations.
    fixed, fixed.
    variable, fixed,
    expand, variable,
    variable, expand
    Then also I am getting space between the lines of my output.
    Could you help me in this?
    Thanks

    Change the Vertical Elasticity of fields and frames to Variable. If for some fields or frames you don't want to change the vertical elasticity, then remove extra space by adjusting the height of fields/frames.
    Also check repeating frames property 'Vert. Space Between Frames'. Default is 0.
    Hope this helps.

  • Windows program problem using Runtime.

    I have a program that works with the mouse click,
    but does not work from a DOS command prompt.
    It seems in Java the command exec works like DOS.
    Anyway to overcome this?
    Thanks.
    boolean bWait = true;
    try {
    String cmd = System.getProperty("user.dir")+getString("Program");
    Runtime r = Runtime.getRuntime();
    Process pr = r.exec(cmd);
    BufferedInputStream bis =new BufferedInputStream(pr.getInputStream());
    int c=0;
    /** Outlet for IO for the process **/
    while ((c = bis.read()) != -1) {
    System.out.print((char)c); // do your processing
    /** Now wait for the process to get finished **/
    if(bWait == true) {
    pr.waitFor();
    pr.destroy();
    } catch(Exception f) {
    System.out.println("Could not execute process."+f+"\n");

    Other than this.
    C:\>cmd.exe /?
    Starts a new instance of the Windows 2000 command interpreter
    CMD [A | /U] [Q] [D] [E:ON | /E:OFF] [F:ON | /F:OFF] [V:ON | /V:OFF]
    [[S] [C | /K] string]
    /C Carries out the command specified by string and then terminates
    /K Carries out the command specified by string but remains
    /S Modifies the treatment of string after /C or /K (see below)
    /Q Turns echo off
    /D Disable execution of AutoRun commands from registry (see below)
    /A Causes the output of internal commands to a pipe or file to be ANSI
    /U Causes the output of internal commands to a pipe or file to be
    Unicode
    /T:fg Sets the foreground/background colors (see COLOR /? for more info)
    /E:ON Enable command extensions (see below)
    /E:OFF Disable command extensions (see below)
    /F:ON Enable file and directory name completion characters (see below)
    /F:OFF Disable file and directory name completion characters (see below)
    /V:ON Enable delayed environment variable expansion using c as the
    delimiter. For example, /V:ON would allow !var! to expand the
    variable var at execution time. The var syntax expands variables
    at input time, which is quite a different thing when inside of a FOR
    loop.

Maybe you are looking for