Board logo

标题: [其他] conset - 浮点运算、从管道接收变量的值、修改其他进程的变量... [打印本页]

作者: tmplinshi    时间: 2011-6-16 16:57     标题: conset - 浮点运算、从管道接收变量的值、修改其他进程的变量...

http://pan.baidu.com/share/link?shareid=4269031488&uk=1124163200
http://ss64.net/westlake/nt/

浮点运算:

C:\>conset /a var = 5 / 2

C:\>set var
var=2.5

C:\>

从管道接收变量的值:

D:\Downloads\conset>curl -s -I bathome.net | findstr /b D | conset _date=

D:\Downloads\conset>set _date
_date=Date: Thu, 16 Jun 2011 08:22:36 GMT


D:\Downloads\conset>dir /b | conset _dir=

D:\Downloads\conset>set _dir
_dir=conset.exe
MathNotes.txt
ConSetDemo.cmd
ConSet.txt
ConsoleNotes.txt
graphdemo.cmd
graph.cmd
dir-age.bat
functions.cmd
EnvEd.cmd
license.txt


D:\Downloads\conset>

修改 PID 为 123 的环境变量:

    ConSet /PID=123 var=value

永久修改环境变量:(通过修改注册表)

    conset /M var1=Machine
    conset /U var2=User
    conset /T var3=Temporary

    :: 以上三个命令都可以永久修改环境变量。

设置字符颜色:

    ConSet ConSet_Color=0F

设置光标位置:

    conset conset_cursor_xy=2 2

详细帮助:

CONSET                          User Manual                          CONSET

NAME        ConSet.exe - Displays, sets, or deletes cmd.exe environment
        variables, modifies console parameters, and performs floating point
        mathematics.

VERSION
        v1.4, 2002.06.06

PLATFORM
        Windows NT 4.0, X86

SYNOPSIS
        SIMPLIFIED
        [options] [name[=[value]]

        DETAILED
        [/E] [/N] [/Q] [/V] [/X] [/PID=pid#] [[/CD] [/RANDOM] [/S] | [/D string]
        | [/TIME [h+/-#] [m+/-#] [s+/-#] | /DATE [y+/-#] [m+/-#] [d+/-#] |
        [/A [/B|/I|/F|/O|/X] expr|<file] | [ [</C|/K|/P[H]> name=value] | [/M &|
        /T &| /U name[=[value]]] | [name[=[value|`command`]]]]]

LICENSE
        Unlimited use and unlimited distribution as a free product.

DESCRIPTION
        OVERVIEW
        ConSet serves two primary functions: the first is to display and
        manipulate CMD.EXE environment variables; the second is to adjust the
        console window's parameters. ConSet combines all of the functions of
        CMD.EXE's built-in SET command and the primary functions of the
        resource kit's SETX program with a floating point math library and
        some console adjustment tools.

        When ConSet is run without any parameters the current environment is
        printed. If a variable name or part of a variable name is specified,
        only variables with matching names will be printed. A match will
        occur if the string specified matches all or the beginning portion of
        a variable name. If a variable name is followed by an equal sign and
        nothing else, that variable will be deleted from the current
        environment. If the equal sign is followed by any text, the variable
        will be defined with that text. This default behavior can be modified
        by the presence of any of the options in the section titled OPTIONS.

        A variable can also be set from a pipe or redirected STDIN if the
        command line ends at the equal sign: 'COMMAND|ConSet VAR1=' and
        'ConSet VAR=<FILE'.

        Backquotes indicate a command that is to be read. To write a value
        that is not to be read as a command but that must begin and end with
        backquotes, double the first backquote: ConSet VAR=``Not a command`
        will be read as `Not a command`. If multiple lines are stored in a
        variable, only the first line can be retrieved with ECHO. To print
        the entire contents use SET or ConSet /V. For example:

                ConSet var=`DIR /B^|FIND ".cmd"`
                ConSet /VX var

        The exit code of the process is stored in the variable
        %ConSet_Process%.


        OPTIONS
        /? ...
                Prints detailed information for a specified switch (i.e. /?
                /A). The switch /? when used alone prints only the synopsis and
                a brief description of each switch.

        /HELP
                Prints all available internal documentation.

        /A        "var1=expression1,var2=expression2,..."
        /A        <file

                The string or file is evaluated as one or more mathematical
                expressions delimited by commas, semicolons, carriage returns, or
                linefeeds. If the final 'variable=' (lvalue) is omitted then the
                result will be printed to STDOUT. Use the pound sign (#) as a
                comment indicator. A comment ends at the next delimiter.

                If any expression contains one of the characters %^&|<> that
                character must either be escaped with the escape character
                (a=^^1,b=a^&1) or the entire expression enclosed in quotes
                ("a=^1,b=a&1"). The foregoing does not apply to expressions in an
                input file. Whitespace is permitted in most places.

                Numbers:
                All numbers are used and stored as long doubles (80-bit), except
                that bitwise operators will truncate the effected numbers to 64-
                bit integers. The use of floating point numbers on computers is
                inherently inaccurate and the user should be cautious of rounding
                errors. Precision may be limited by setting the variable
                %ConSet_prec% with the desired number of digits. For example, 'SET
                ConSet_prec=6' for six digit precision. The default is 20. Numbers
                may be entered in scientific notation (i.e. 1.2E2=12 and
                1.2e-2=0.12).

                Number bases:
                Numbers may be input as decimal, binary with the prefix 0b,
                hexadecimal with the prefix 0x, and octal with the non-standard
                prefix 0o ('zero-oh'). This program is intended to be a
                solution to many scripting problems and the standard octal
                prefix of 0 only creates an additional problem. The default
                output is in base 10. To force the output to one of the other
                supported bases, append the corresponding flag character to the
                switch (/AO=octal, /AX=hex, and /AB=binary) for integers, or the
                flag character and a period (i.e. /AB.) for floating point. For
                traditional octal output, use /AOF.

                Variables:
                Variable names must begin with an alphabetic character or the
                character '@' and they may contain numerals or any of the
                following characters enclosed in the double quotes: "`@#_\'".
                Variable names need not be enclosed in percent signs unless they
                violate the foregoing rule. If they are variables which a value
                will be stored to, such as lvalues and variables which use the
                increment and decrement operators, they must not be enclosed in
                quotes. Variables beginning with the character '@' are local to
                the current instance of ConSet only (Ex: @a=5,@a+1). Variables may
                contain expressions consisting of values and other defined
                variables. Undefined variables will produce an error; they are not
                set to zero as SET will do.

                List and array variables:
                Multi-element variables can be indexed as lists and arrays in
                mathematical expressions. An array is a table of one or more rows
                with one or more columns in each row. Arrays require an index for
                the row followed by an index for the column. A list is an array of
                only one row and requires only the single index. Indexes are
                specified in square brackets following the variable name using the
                format LIST[element] and ARRAY[row][column]. Indexes are zero-
                based and the specified elements must exist. Individual elements
                in a row are delimited by spaces or commas and rows are delimited
                by semicolons or linefeeds. If a list or array variable is
                included in an expression without an index, it will be read as an
                expression. Two methods are provided for creating lists and one
                for creating arrays (see seq() and {}).

                        Ex: "list=seq(30+((5546>>month)&1),Month,1,1,12)"
                        Ex: mat={2000 2001 2002;29 28 28}
                        Ex: list[Month-1]=mat[0][Year]==2000?mat[1][Year]:0

                Internal constants (case sensitive):
                $c                Speed of light (2.99792458e8 m/s).
                $d                Convert degrees to radians (i.e. cos(60$d)).
                $g                Acceleration of gravity (9.80665 m/s**2).
                $G                Gravitational constant (6.67259e-11 m**3/(kg s**2)).
                $m                Convert minutes to radians.
                $s                Convert seconds to radians.
                $r                Convert radians to degrees (i.e. acos(.5)$r)
                $e                e, the base of natural logs.
                $p                Pi, ratio of circumference to diameter of a
                                circle.
                $z                Time bias in minutes (UTC=local time+$z/60).

                Supported operators in order of precedence:
                Implied multiplication is enabled. To imply multiplication of
                variables, separate the variables with a space.

                #                Comment. Ignore everything until the next delimiter.
                { }                Defines a set and must be used alone in a comma
                                delimited expression (Ex:
                                /A x={0 1 2;10 11 12}, 5x[0][1]).
                :=                Assigns an expression to a variable. Use this
                                operator when the expression should be assigned
                                without evaluation. Use backquotes to assign an
                                element of a list or matrix (Ex:
                                /a var:=`matrix[0][1]`).
                ( )                Grouping.
                ++ --                Pre and post increment and decrement.
                ** func        Power (x**2 is x squared) and all functions.
                !expr ~        Logical negation (results in 0 or 1) and bitwise
                                complement.
                expr!                Factorial. Uses e^(lng(x+1)) for non-integers.
                % / *                Modulus (x-y*ipart(x/y), use %% in scripts),
                                division, and multiplication. Excess modulus
                                operators are ignored.
                + -                Addition and subtraction.
                >> <<                Bitwise right and left shifts.
                >= > <= <        Comparisons (results in 0 or 1).
                != ==                Comparisons (results in 0 or 1).
                &                Bitwise AND (0b11 & 0b10 = 0b10).
                ^                Bitwise XOR (0b110 ^ 0b101 = 0b011).
                |                Bitwise OR (0b01 | 0b10 = 0b11).
                &&                Logical AND (results in 0 or 1).
                ||                Logical OR (results in 0 or 1).
                ?:                Conditional (result=(test expr)?(true expr):(false
                                expr)).
                ,;                Expression separator.

                Functions:
                If a function name is not followed by optional whitespace and a
                parenthesis '(', it will be interpreted as a variable name.

                User-defined functions:
                Variables may be defined as functions by including parentheses
                and a parameter list in the variable name. The function must be
                defined with no spaces between the function name and the first
                parenthesis. The variables in the parameter list must match the
                variables in the expression. For example:

                        ConSet /A xRoot(x,y):=x**(1/y), xRoot=xRoot(8, 3)

                Multi-statement functions can be defined by enclosing the
                statements in braces. Do not terminate the last statement with a
                delimiter, it will be the return value. For example:

                        ConSet /A func(x,y):={x+=1;x**y}, z=func(2, 2)

                Built-in functions:
                abs(expr)        Absolute value.
                acos(expr)        Arc cosine.
                asin(expr)        Arc sine.
                atan(expr)        Arc tangent.
                atan2(Yexpr,Xexpr)
                                Arc tangent of Y/X.
                avgRC(expr,var,value[,h])
                                Average rate of change (forward-difference quotient).
                                'expr' must be a function of 'var' whose derivative
                                will be examined at 'value' with a step value of 'h'.
                                'h' defaults to 0.001.
                cdim(var)        Column dimension of a list or array.
                ceil(expr)        Ceiling.
                cos(expr)        Cosine.
                cosh(expr)        Hyperbolic cosine.
                dim(var)        Length of the string contained in 'var'.
                dms(expr)        Returns 'expr' as three integers concatenated into
                                the format DMMSS. 'D' may be one or more digits.
                exp(expr)        Natural e raised to the value of expr.
                                Also $e**(expr).
                find("sub","string"[,offset])
                                Returns the zero-based position of "sub" in "string"
                                starting with 'offset', or zero if 'offset' is not
                                specified. If \"sub\" is not found the function
                                returns -1. Parameters may be quoted strings or
                                unquoted variable names. 'offset' need not be quoted.
                                Negative offsets count forward from end.
                findi("sub","string"[,offset])
                                Same as find() except that text case is
                                insignificant.
                floor(expr)        Floor.
                fpart(expr)        Fractional part.
                gamma(expr)        Gamma function (implemented as
                                exp(lng(expr))).
                **(expr,expr)
                                Greatest common divisor.
                ipart(expr)        Integer part.
                jd2g(expr)        Gregorian date from a chronological JDN, valid
                                -4900-03-01 G onward. The return value is an integer
                                in the ISO format YYYYMMDD.
                jdnc([y[,m[,d]]])
                                Julian Day Number- Chronological, valid -4800-03-01 G
                                onward. With no parameters the current JDN (UT) is
                                returned.
                lcm(expr,expr)
                                Least common multiple.
                ldim(var)        Number of lines in a variable..
                ln(expr)        Natural log.
                lng(expr)        Gamma log (from Lanzcos. 0>expr>=450).
                log(expr)        Base 10 log.
                ltime()        Local time in hours.
                mjd([y[,m[,d]]])
                                Modified Julian Day Number- With no parameters the
                                current MJD (UT) is returned.
                mjdg(expr)        Gregorian date from a MJD number. The return value is
                                an integer in the ISO format YYYYMMDD.
                mod(expr,expr)
                                Modulus (x-y*floor(x/y). See also % operator.
                nCr(expr1,expr2)
                                Number of combinations of expr1, an integer, taken
                                expr2 at a time.
                nDer(expr,var,value[,h]) or nDer(expr,var=value[,h])
                                Numerical derivative (central-difference quotient).
                                'expr' must be a function of 'var' whose derivative
                                will be examined at 'value' with a step value of 'h'.
                                'h' defaults to 0.001.
                nPr(expr1,expr2)
                                Number of permutations of expr1, an integer, taken
                                expr2 at a time.

                ord(string)        ASCII value of the first or indicated character in
                                'string'. Negative offsets count forward from end.
                poly(x,degree,coeffs...)
                                Value of the polynomial of degree 'degree' at x='x'
                                with 'degree'+1 coeffs from low to high. Ex: x**3-
                                2x**2+5x-1 with x=2 is poly(2,3,-1,5,-2,1). See
                                MathNotes.txt for further example and explanation.
                pow(Xexpr,Yexpr)
                                Power function (X**Y). See also ** operator.
                prod(expr,var,low,high)
                                Product of expr with var from low to  high. For
                                example, 'prod(x,x,1,5)' results in 120 (5!).
                rand([max])        A random integer from 0 to 'max' inclusive. 'max'
                                defaults to 32767.
                rdim(var)        Row dimension of a array.
                round(expr [,int])
                                Rounds 'expr' to 'int' digits after the decimal.
                                'int' may be negative for integer rounding; if
                                omitted it defaults to 12.
                seq(expr,var,start,step,stop)
                                Creates a list. Must be used alone in a comma
                                delimited expression. For example,
                                '/A z=seq(x,x,1,1,5)' results in 'z=1 2 3 4 5'.
                sign(expr)        The sign of the value returned by the expression:
                                (expr>0, sign()=1; expr<0, sign()=-1; expr=0,
                                sign=0).
                sin(expr)        Sine.
                sinh(expr)        Hyperbolic sine.
                sqrt(expr)        Square root. Also x**(1/2).
                sum(expr,var,low,high)
                                Sum of expr with var from low to high. For
                                example, 'sum(x/2+0.5,x,2,4)' results in 6.
                tan(expr)        Tangent.
                tanh(expr)        Hyperbolic tangent.
                tick()                A relative time in ms that the system has been up
                                (wraps at 49.7 days).
                utime()        Universal time in hours.

        /B
                When used with the /A switch, numbers will be output in binary
                form. If this switch is followed by a decimal, the fractional part
                will also be converted and printed.

                Ex: ConSet /AB "bin=1<<31"

        /C        name=value to append
                Concatenate the existing value of 'name' with 'value to
                append'. This procedure is normally accomplished as follows:

                SET var=%var% more stuff

                If 'value to append' is omitted, a newline will be appended to
                the variable's contents if it exists. If 'name' is not
                previously defined then it will be set with 'value'. No spacing
                is added between the concatenated strings. This switch can be
                used to append additional elements to a list as follows

                ConSet /C VAR= %NewElement%

        /D        StringToMatch
                Delete all variables beginning with 'string'. If 'string' is
                omitted, all 'ConSet_' variables will be deleted.

                EX: ConSet /D MyVars_

                This simplifies the task of cleaning up at the end of a script.
                Precede all of your variables with a unique string and use this
                switch to delete them all when they are no longer needed. For
                example:

                SET MyVar_File=%1
                SET MyVar_Dir=%2
                ConSet /D MyVar_

        /E
                Perform an additional expansion of strings before setting or
                printing.

                EX: ConSet /E VAR=%%VAR2%%

                This can be used for delayed expansion of variables in a script
                or on the command line, and for expansion of variables in
                values retrieved from the registry.

        /F
                When used with the /A switch, numbers will be formatted
                according to the user's locale setting unless they are in the
                binary, octal or hex bases. Commas, radix, or other separators are
                inserted as specified by local settings. If the output base is
                octal, this switch will cause the output to be in the traditional
                format (0# instead of 0o#).

                EX: ConSet /AF VAR=123456789

        /H
                When used with the /P switch, typed text will not be echoed.

                Ex: ConSet /PH Password=What is your password?

        /I
                When used with the /A switch, numbers will be output as
                integers.

                Ex: ConSet /AI "int=1.1"

        /K        var=[\\computer\]hive\subkey\value
                Get the value from the specified registry location. Supported
                hives are [HKEY_]: CLASSES_ROOT, CURRENT_USER, LOCAL_MACHINE,
                USERS, and CURRENT_CONFIG. For remote computers, only the root
                hives LOCAL_MACHINE and USERS are supported but the others are
                still available as subkeys.

                EX: ConSet /K VAR=HKEY_CURRENT_USER\Console\FullScreen

                The hive may be specified by the full name (i.e.
                HKEY_CLASSES_ROOT), the shortened name as shown above (i.e.
                CLASSES_ROOT), or the common 3 or 4 letter abbreviation (HKCR,
                HKCU, HKLM, HKU, HKCC). Both upper and lower case are accepted.

        /M        var[=[value]]
                Set or clear the machine (system) variable in the registry.

                EX: ConSet: /M /U var=value

                These variables are read from the registry when a top level
                CMD.EXE is started, such as when opening a new console window.
                Changes to these variables do not affect the current or child
                processes.

        /N        StringToMatch
                Only the name of the variable(s) will be printed.

                EX: ConSet /N



                The normal output when listing variables is 'VARNAME=VALUE'.
                This switch will cause only VARNAME to be printed.

        /O
                When used with the /A switch, numbers will be output in octal
                form. If this switch is followed by a decimal, the fractional part
                will also be converted and printed. If the switch /F is included,
                the traditional octal format will be used.

                Ex: ConSet /AO oct=100

        /P        var=prompt
                Prompt for input to be stored in the variable. 'prompt' will be
                printed as the prompt.

                EX: ConSet /P UserName=What is your name?

                Displays the specified prompt and waits for input. When RETURN
                is entered, input terminates and the string is stored in the
                specified variable. Spacing is permitted after the prompt. The /H
                switch may be included to disable input echo.

        /Q
                Disables all error reporting. Use this switch with caution.

                Ex: ConSet /QD MyVars_

        /S
                Set window and buffer parameters into 'ConSet_...' variables.

                EX: ConSet /S
                EX: ConSet ConSet_Color=0F

                Sets the following variables with the indicated value:

               ConSet_Title        The title of the console window.
                ConSet_Color        *The text colors. See 'COLOR/?' for format.
                ConSet_W_Lines      *The number of console window lines.
                ConSet_W_Cols       *The number of console window columns.
                ConSet_B_Lines      *The number of console buffer lines.
                ConSet_B_Cols       *The number of console buffer colunms.
                ConSet_Cursor_sz    *The size in percentage (0-100) of the
                                        cursor.
                ConSet_Cursor_XY    *Position of the cursor. Top-left is '0 0'.
                ConSet_MaxWin_XY    The maximum window size permitable.

                If ConSet is used to modify any of the variables that are
                marked with an asterisk, ConSet will adjust the console window
                to match the value specified. The example above changes the
                background color to black and the foreground color to white. The
                largest permitable buffer dimensions are 32,767 by 32,767.

        /T        var[=[value]]
                Set or clear the user variable in the registry's volatile
                (temporary) environment.

                EX: ConSet: /T var=value

                These variables are read from the registry when a top level
                CMD.EXE is started, such as when opening a new console window.
                Changes to these variables do not affect the current or child
                processes. This environment is not saved at user logoff.

        /U        var[=[value]]
                Set or clear the user variable in the registry.

                EX: ConSet: /M /U var=value

                These variables are read from the registry when a top level
                CMD.EXE is started, such as when opening a new console window.
                Changes to these variables do not affect the current or child
                processes.

        /V        StringToMatch
                Only the value of the variable(s) will be printed.

                EX: ConSet /V

                The normal output when listing variables is 'VARNAME=VALUE'.
                This switch will cause only VALUE to be printed.

        /X        and        /X StringToMatch
                When used with the /A switch, numbers will be output in hex
                form. If this switch is followed by a decimal, the fractional part
                will also be converted and printed.

                Ex: ConSet /AX "hex=num&0xF0"

                When used with a string, only the variable that exactly matches
                StringToMatch will be printed or deleted.

                EX: ConSet /X VarName
                EX: ConSet /DX VarName

                Normally all variables whose names match or begin with
                StringToMatch will be printed or deleted. This switch permits
                printing or deleting only the one variable which matches
                exactly.

        /CD
                Set the current directory into CD.

                EX: ConSet /CD

                CD is supported as a dynamic variable by Windows 2000 but by
                not by Windows NT4. This switch makes getting the current
                directory on NT4 almost as easy. The current directory of any
                drive that has been accessed by the current instance of CMD.EXE is
                also available as the variable %=D:%, where D is the drive letter
                of that drive.

        /DATE        [y+value] [m+value] [d+value]
                Set the local date (YYYY-MM-DD) into DATE, the local week number
                (S## M##) into WEEK, the local day of year (001-366) into DOY, the
                local weekday name into WEEKDAY, and the system (UTC) date (YYYY-
                MM-DD) into SYSTEMDATE.

                EX: ConSet /DATE

                DATE is supported as a dynamic variable by Windows 2000 but not
                by Windows NT4. This switch makes getting the current date on
                NT4 almost as easy. Most scripting problems require that the
                date be in an easily parsed format, and the international
                standard used by this program is just that. The WEEK variable
                is set with 'S## M##', where S## is the week number with Sunday
                as the first day of the week and M## is the week number with
                Monday as the first day of the week. WEEKDAY is set with the
                weekday name in the local language. With version 1.2 the variable
                JULIAN has been replaced by the variable DOY. JULIAN will remain
                available for a short transition period.

                Addition and subtraction can be performed on the current date
                to produce a date relative to it. This does not affect the
                system's date. Follow the /DATE switch with the desired math, for
                example:

                ConSet /DATE y+1 m-13 d+30

        /PID=pid#
                Make all changes to the process with process identification
                number 'pid#'.

                EX: ConSet /PID=245

                If 'PID#' is specified all changes will be made in the
                environment of the specified process instead of in the current
                environment. This feature can only be used to write to the
                processes environment; all reads will still be from the current
                environment. If 'PID#' is not specified, the variable PID will be
                set with the PID# of ConSet's parent process.

        /RANDOM
                Set a random number into RANDOM.

                EX: ConSet /RANDOM

                RANDOM is supported as a dynamic variable by Windows 2000 but
                not by Windows NT4. This switch makes getting a random number
                on NT4 almost as easy. This program uses a much better
                algorithm than does Windows 2000. You can see the difference if
                you call both in a tight loop. The function rand() is available
                in the math package.

        /TIME
                Set the local time (HH:MM:SS.mss) into TIME, the system time
                (HH:MM:SS.mss) into SYSTEMTIME, and the time bias ([-]minutes)
                into TIMEBIAS.

                EX: ConSet /TIME

                TIME is supported as a dynamic variable by Windows 2000 but not
                by Windows NT4. This switch makes getting the current time on
                NT4 almost as easy. The TIMEBIAS variable indicates the difference
                in minutes between UTC (system time) and local time (UTC=local
                time+TIMEBIAS). The bias is not sdjusted if addition or
                subtraction is performed on the TIME variable.

                Addition and subtraction can be performed on the current time
                to produce a time relative to it. This does not affect the
                system's time. If the resulting time carries over to a previous or
                following day, the date variables will be set with the applicable
                date. Follow the /TIME switch with the desired math, for example:

                ConSet /TIME h+1 m-13 s+30


ENVIRONMENT
        If the variable %ConSet_prec% is defined with a value, that value
        will be used as the precision for floating point numbers.

        This program creates, modifies, and deletes environment variables.

REGISTRY
        This program does not read configuration information from the registry.

        The /M, /U, and /T switches create, modify, or delete values in the
        machine or user environment subkeys.

LIMITS
        The environment appears to have a limit of about 32 kilobytes.

ERRORLEVEL
        The errorlevel set for all errors is 1. An errorlevel of 0 indicates no
        error.

CHANGES
       Version 1.4
        1. Fixes a minor decision error with enumerating registry variables.
       2. When the switches /M and /U are used together when listing the PATH
          variable, PATH from the machine key and PATH from the user key will
          be concatenated as: PATH=<MACHINE>[;]<USER>. This is the same
          behavior as the system. The intervening semicolon is included only
          if necessary.

BUGS
        Plenty. Report them to <[email=ConSet@fpw.static.pe.net]ConSet@fpw.static.pe.net[/email]>.

AUTHOR
        Frank P. Westlake <[email=ConSet@fpw.static.pe.net]ConSet@fpw.static.pe.net[/email]>.

COPYRIGHT
        Copyright (C)2001, 2002 by Frank P. Westlake.

ACKNOWLEDGEMENTS
        Significant help was provided by Garry Deane whose meticulous
        attention to detail proved invaluable in locating many bugs and in
        identifying some inconsistencies with SET.

        The algorithm for gamma log was retrieved from a calculator program
        written for the TI-92 series calculator. The only credit given in
        that program for the algorithm is "by Lanzcos".

        The Julian Day algorithms in the jdnc() and jd2g() functions were
        written by Henry F. Fliegel and Thomas C. Van Flandern.

CONSET                                                               CONSET

作者: caruko    时间: 2011-6-16 17:19

这个工具不错,省略FOR读取输出来设置变量。
但最重要的是可以做到CMD多进程通信。
作者: qzwqzw    时间: 2011-6-16 21:09

楼上说的是/PID开关吧
确实是一项新颖而实用的功能
作者: tmplinshi    时间: 2011-6-25 13:01

Sets an envorionment variable in the parent or another foreign process. Values can also be read from stdin, so it is possible to pipe other commands output into a environment variable.

setenv 1.0 (LSTools 1.5) - set environment var in foreign process
Freeware. Copyright (c) 1997-2001 LoSOFT Softwaretechnik
Newest Version at http://www.losoft.de/

USAGE: setenv [/stdin /stderr] [/P[=] <pid>] <varname[=]> <value>
  /P >pid<   - the process id as decimal or hex (prefix 0x) number of the
               target process. If omitted or zero the parent process is used.
  <varname>  - Name of the environment variable to set.
  <value>    - Value for the environment variable.

  /stdin     - Enable stdin Mode. Input is taken from the command line as long
               as there is input present, then from stdin.
  /stderr    - Enable stderr Mode. Output, if any, is written to stderr.
  Examples:    time /T | setenv /stdin TIME1 - pipe current time into var TIME1
               setenv /P 4711 INCLUDE C:\Inc - set INCLUDE for process 4711
               setenv /P=4711 INCLUDE=C:\Inc - same as above

作者: cjiabing    时间: 2011-6-25 13:28

绝对顶一个!~
能支持修改其他进程的变量?
大哥,翻译下说明,俺们学习学习!~
作者: cjiabing    时间: 2011-6-25 13:33

拿GG搞了一下:
CONSET用户手册CONSET

NAME Con​​Set.exe - 显示,设置或删除cmd.exe的环境
        变量,修改控制台参数,并执行浮点
        数学。

VERSION
        V1.4,2002年6月6日

平台
        Windows NT 4.0中,X86

内容简介
        简化
        [选项] [名[= [值]]

        详细
        [/ E] [/ N] [/ Q] [/ V] [/ X] [/ PID = PID#] [[/ CD] [/ RANDOM] [/ S] | [/ D弦]
        | [/时间[H +/-#] [M +/-#] [S +/-#] | /日期[Y +/-#] [M +/-#] [D +/-#] |
        [/ A [/ B | / I | / F | / O | / X] expr的| <文件] | [[</ C | / K | / P [H]>名称=值] | [/ M&|
        / T&| / U名称[= [值]]] | [名称[= [值|`命令`]]]]]

许可
        无限使用,无限分发免费的产品。

说明
        概览
        ConSet有两个主要功能:第一是显示和
        操纵CMD.EXE环境变量,第二是调整
        控制台窗口的参数。 ConSet结合了所有的功能
        CMD.EXE的内置SET命令及主要职能
        资源工具包的SETX程序与浮点运算库和
        一些控制台调整工具。

        当ConSet是不带任何参数运行当前的环境是
        打印。如果一个变量名或变量名的一部分被指定,
        与之相配的名字只有变量将被打印出来。在匹配
        如果出现匹配的字符串中指定的全部或部分的开始
        一个变量的名称。如果一个变量名后跟一个等号和
        不出意外,该变量将被删除从当前
        环境。如果等号后面是任何文本,变量
        将定义该文本。此默认行为可以修改
        通过对一节题为OPTIONS任何选项的存在。

        变量也可以设置从管道或重定向STDIN如果
        命令行的等号两端:“COMMAND | ConSet VAR1 ='和
        “ConSet VAR = <文件”。

        反引号表示一个命令,要读取。为了写一个值
        这是不被理解为命令,但必须开始和结束
        反引号,双先反引号:ConSet VAR = ``不是一个命令`
        会被理解为'不'的命令。如果多行存储在一个
        变量,只有第一行可以检索与ECHO。要打印
        使用SET的全部内容或ConSet / V。例如:

                ConSet VAR =`DIR / B ^ |寻找“CMD”`
                ConSet / VX VAR

        该进程退出代码存储在变量
        %ConSet_Process%。


        选项
        /? ... ...
                打印在指定的开关(即/详细资料?
                / A)。交换机/?单独使用时只打印概要和
                每个交换机的简要说明。

        / HELP
                打印所有可用的内部文件。

        / A“VAR1 = expression1的,VAR2 = expression2的,..."
        / A <文件

                字符串或文件被评估为一个或多个数学
                用逗号,分号,回车或表达式分隔
                换行符。如果最后的“变量=”(左值),则省略
                结果将被打印到STDOUT。用作英镑符号(#)
                评论指标。注释结束于未来的分隔符。

                如果任何表达式中包含的字符%^&|<>,一个
                字符必须是转义转义字符
                (一= ^ ^ 1,B = A ^&1)或整个表达式用引号括起来
                (“A = ^ 1,B = A&1”)。上述不适用于在表达式
                输入文件。空格是允许的大部分地方。

                编号:
                所有数字都是使用和储存只要双打(80位),除
                是位运算符将截断受影响人数为64 -
                位整数。浮点数的计算机上使用
                本质上不准确,用户应谨慎四舍五入
                错误。精度可能会受到限制通过设置变量
                %,而所需的位数ConSet_prec%。例如,“SET
                ConSet_prec = 6'为六位数的精确度。默认为20。数字
                可输入科学记数法(即1.2E2 = 12,
                1.2E - 2 = 0.12)。

                编号基地:
                号码可输入十进制,二进制的前缀0B,
                十六进制的前缀为0x,并与非标准八进制
                前缀0O(“零哦”)。这项计划的目的是成为一个
                许多脚本问题的解决方案和标准八进制
                0字头只创建一个额外的问题。默认
                输出是10进制。要强制输出到另一个
                支持基地,追加相应的标志字符
                开关(/ AO =八进制/ AX =十六进制,和/ AB =二进制)为整数,或
                标志字符和一个浮点期(即/ AB)。对于
                传统的八进制输出,使用/ AOF。

                变量:
                变量名必须以字母字符或
                字符“@”,他们可能包含数字或任何
                在双引号中以下字符:"`@#_ \'“。
                变量名不一定要百分号封闭的,除非他们
                违反上述规则。如果他们是变量的值
                将存储,诸如左值和变量的使用
                递增和递减运算符,它们不能包含在
                引号。变量以字符“@”开头的本地
                当前实例的ConSet只(例如:@ A = 5,@ A +1)。变量可以
                包含表达式组成的价值观和其他定义
                变量。未定义的变量会产生一个错误,他们不
                设置为零的SET就行。

                列表和数组变量:
                多元素变量可以被索引,列表和数组
                数学表达式。数组是一个或多个行的表
                与一个或​​多个每行中的列。阵列需要一个指数
                该行后跟一个列的索引。列表是一个数组
                只有一行,只需要单一指标。索引
                在方括号中指定的变量名以下使用
                格式列表[元素]和ARRAY [行] [列]。索引是零
                基于指定元素必须存在。单个元素
                在一排由空格或逗号分隔的分隔和行
                用分号或换行符。如果列表或数组变量
                在一个没有索引表达式中包含,它将作为一个读
                表达。有两种方法提供了创建列表和一个
                创建阵列(见SEQ()和{})。

                        例如:“名单= SEQ(30 +((5546>>月)&1),月,1,1,12)”
                        例如:垫= {2000 2001 2002; 29 28 28}
                        例如:清单[月 - 1] =垫[0] [年] == 2000垫[1] [年]:0

                (区分大小写)内部常数:
                $ C光速(2.99792458e8米/秒)。
                $ D转换为弧度(即COS(60 $ d)段)。
                $ G重力加速度(9.80665米/秒** 2)。
                $ G引力常数(6.67259e - 11 M ** 3 /(千克秒** 2))。
                百万元转换为弧度分钟。
                $ S转换为弧度秒。
                $ R弧度转换为度(即ACOS(0.5)$ R)
                $ E E,天然原木基地。
                $ P皮,圆周率的直径
                                循环。
                $ Z在几分钟时间偏差(UTC =本地时间+ $ z/60)。

                在运营商支持的优先顺序:
                隐含乘法启用。暗示乘法
                变量,用空格分隔的变量。

                #注释。忽略,直到下一个分隔符的一切。
                {}定义设置,必须使用单独的一个逗号
                                分隔的表达式(例如:
                                / A X = {0 1 2; 10 11 12},5倍[1] [1])。
                :=表达式分配给一个变​​量。使用此
                                操作时,表达应分配
                                没有评价。使用反引号分配一个
                                元素的列表或矩阵(例如:
                                /一个var:='矩阵[0] [1]`)。
                ()分组。
                + + - 前,后递增和递减。
                **功功率(X ** 2是x的平方)和所有功能。
                !expr的〜逻辑否定(在0或1的结果)和按位
                                补充。
                expr的!阶乘。使用E ^(LNG(X +1))非整数。
                %/ *模量(XY * IPART(X / Y),在脚本中使用%%),
                                除法和乘法。超额模
                                经营者将被忽略。
                + - 加法和减法。
                >> <<按位左,右移动。
                > => <= <比较(以0或1的结果)。
                != ==比较(以0或1的结果)。
                &按位与(0b11和0b10 = 0b10)。
                ^按位异或(0b110 ^ 0b101 = 0b011)。
                |按位或(0b01 | 0b10 = 0b11)。
                &&逻辑和(0或1的结果)。
                | |逻辑或(0或1的结果)。
                ?:条件(结果=(测试表达式)(真表达式):(假
                                表达式))。
                ;表达分离。

                功能:
                如果一个函数名称没有后跟可选的空白和
                括号'(',它会被解释为一个变量的名称。

                用户定义的函数:
                变量可以被定义为功能,包括括号
                并在变量名的参数列表。该功能必须
                定义函数名之间没有空格和第一
                括号。在参数列表中的变量必须匹配
                变量表达式。例如:

                        ConSet / A xRoot(X,Y​​)= X **(1 / Y),xRoot = xRoot(8,3)

                多语句函数可以定义内附
                报表括号。不要终止与最后的陈述
                分隔符,这将是返回值。例如:

                        ConSet / A功能(X,Y):= {X + = 1; X ** Y},Z =功能(2,2)

                内置功能:
                ABS(表达式)绝对值。
                ACOS(表达式)的反余弦。
                ASIN(表达式)反正弦。
                ATAN(表达式)反正切。
                ATAN2(Yexpr,Xexpr)
                                圆弧相切的Y / X
                avgRC(expr的,VAR,值​​[,H])
                                平均变化率(向前差商)。
                                “expr的”必须是“VAR”的衍生功能
                                将研究在“价值”与一个“H”步长值。
                                “H”默认为0.001。
                cdim(VAR)的一个列表或数组列维度。
                CEIL(表达式)天花板。
                COS(表达式)余弦。
                吸烟与健康委员会(表达式)双曲余弦值。
                暗淡(VAR)长度在“VAR”中的字符串。
                DMS(表达式)返回'expr的“三个整数连接成
                                格式DMMSS。 “D”可能有一个或多个数字。
                EXP(表达式)e的自然expr的值。
                                另外$ E **(表达式)。
                找到(“子”,“串”[,偏移])
                                返回“字符串”的“分”零基位置
                                开始以“抵消”,或零如果“偏移”并不是
                                指定。如果\“分\”是没有发现功能
                                返回-1。参数可能被引用的字符串或
                                非上市的变量名。 “偏移”不必加引号。
                                负偏移数着从结束。
                findi(“子”,“串”[,偏移])
                                相同发现(除了文本的情况下)是
                                微不足道。
                地板(表达式)楼。
                fpart(表达式)的小数部分。
                伽玛(表达式)伽玛功能(实施
                                EXP(LNG(表达式)))。
                GCD(expr中,表达式)
                                最大公约数。
                IPART(表达式)的整数部分。
                jd2g(表达式)公历日期从时间顺序JDN,有效
                                -4900-03-01摹前进。返回值是一个整数
                                YYYYMMDD的ISO格式。
                jdnc([Y [,M [,D]]])
                                儒略日数,按时间顺序排列,有效-4800-03-01摹
                                前进。不带参数的当前JDN(UT)是
                                返回。
                LCM(expr中,表达式)
                                最小公倍数。
                ldim(VAR)的数量在一个变量行..
                LN(表达式)自然对数。
                液化天然气(表达式)伽玛日志(从Lanzcos 0> expr的> = 450)。
                日志(表达式)基地10个日志。
                ltime()本地时间以小时为单位。
                MJD([Y [,M [,D]]])
                                修改儒略日数,不带参数的
                                目前MJD(UT)被返回。
                mjdg(表达式)公历日期从MJD数。返回值是
                                ISO格式中的一个整数YYYYMMDD。
                MOD(expr中,表达式)
                                模数(X - Y *楼(X / Y)又见%运营商。
                NCR(表达式1,表达式2)
                                数的表达式1,整数组合,采取
                                expr2的一次。
                nDer(expr的,VAR,值​​[,H])或nDer(expr中,VAR = VALUE [,H])
                                数值微分(中央差商)。
                                “expr的”必须是“VAR”的衍生功能
                                将研究在“价值”与一个“H”步长值。
                                “H”默认为0.001。
                NPR(表达式1,表达式2)
                                数排列的表达式1,整数,采取
                                expr2的一次。

                ORD(字符串)的ASCII值的第一个或表示字符
                                “串”。负偏移数着从结束。
                聚(X,学位,coeffs ... ...)
                                价值的程度“度”在x ='X'多项式
                                与“度”1 coeffs从低到高。例如:X ** 3 -
                                2X与X ** 2 +5 = 2 X - 1是聚(2,3,-1,5,-2,1)。见
                                MathNotes.txt进一步例子和解释。
                POW(Xexpr,Yexpr)
                                幂函数(X ** Y)。又见**运营商。
                PROD(expr的,VAR,低,高)
                                产品使用var从低到高expr的。对于
                                例如,“PROD(X,X,1,5)”120(5!)的结果。
                兰特([MAX])随机整数从0到“最大”的包容性。 “最大”
                                默认为32767。
                rdim(VAR)的阵列行维度。
                圆(expr的[,INT])
                                大红大紫“expr的”为“INT”后的十进制数字。
                                “INT”可能是负整数四舍五入;如果
                                省略默认为12。
                SEQ(expr的,VAR,启动,步骤,停止)
                                创建一个列表。必须单独使用一个逗号
                                分隔的表达。例如,
                                “/ A Z = SEQ(X,X,1,1,5)”中的“Z = 1 2 3 4 5”的结果。
                符号(表达式)由表达式返回的值的符号:
                                (expr的> 0,征(+)= 1; expr的<0,征(+)= 1; expr的= 0,
                                标志= 0)。
                罪(表达式)正弦。
                SINH(表达式)双曲正弦。
                SQRT(表达式)的平方根。另外X **(1 / 2)。
                SUM(expr的,VAR,低,高)
                                expr的总和,由低到高VAR。对于
                                例如,“SUM(X / 2 +0.5,X,2,4)”在6结果。
                谭(表达式)切线。
                TANH(表达式)双曲正切。
                打勾()在MS相对时间,该系统一直在涨
                                (在49.7天套)。
                utime()通用时间以小时为单位。

        / B
                当与/ A开关使用时,数字将二进制输出
                形式。如果这个开关之后是一个小数,小数部分
                也将被转换和打印。

                例如:ConSet / AB“BIN = 1 <<31”

        / C名称=值追加
                连接具有价值的“名”的存在价值
                追加“。此过程通常是完成如下:

                SET VAR =%VAR%以上的东西

                如果“附加价值”被忽略,一个换行符将被追加到
                变量的内容,如果它的存在。如果“名”不
                先前定义,那么它将与“价值”设置。无间距
                加之间的串联字符串。此开关可
                用于追加额外的元素,如下所示的列表

                ConSet / C VAR =%NewElement%

        / D StringToMatch
                删除所有变量以“串”的开始。如果“串”是
                省略了,所有的'ConSet_“变量将被删除。

                EX:ConSet / D MyVars_

                这简化了清洗在一个脚本结束了任务。
                前面加上一个唯一的字符串的所有变量和使用本
                切换到删除所有的时候都不再需要。对于
                例如:

                SET MyVar_File =%1
                SET MyVar_Dir =%2
                ConSet / D MyVar_

        / E
                执行前设置字符串的其他扩展或
                打印。

                EX:ConSet / E = VAR%%%%VAR2

                这可以用于变量延迟扩展的脚本
                或者在命令行,并为变量扩展
                从注册表中检索值。

        / F
                当使用/ A开关,数字将被格式化
                根据用户的区域设置,除非他们在
                二进制,八进制或十六进制基地。逗号,板蓝根,或其他分隔符
                插入为指定的本地设置。如果输出基地
                八,此开关将导致输出要在传统的
                格式(0 0O##代替)。

                EX:ConSet / AF VAR = 123456789

        / H
                当与/ P开关使用时,输入的文本将不会附和。

                例如:ConSet / PH密码=你的密码?

        / I
                当与/ A开关使用时,将输出的数字
                整数。

                例如:ConSet / AI“INT = 1.1”

        / K VAR = [\ \计算机\]蜂巢\子项\价值
                从指定的注册表位置的值。支持
                荨麻疹是[HKEY_]:CLASSES_ROOT,CURRENT_USER,LOCAL_MACHINE,
                用户和CURRENT_CONFIG。对于远程计算机,只有根
                荨麻疹LOCAL_MACHINE和用户的支持,但其他人
                作为子项仍然可用。

                EX:ConSet / K VAR = HKEY_CURRENT_USER \控制台\全屏

                可以指定的配置单元的全名(即
                HKEY_CLASSES_ROOT),缩短名称如上所示(即
                CLASSES_ROOT),或者普通3或4字母的缩写(HKCR,
                HKCU,HKLM,香港大学,香港文化中心)。大写和小写被接受。

        / M VAR [= [值]]
                设置或清除注册表中的机器(系统)的变量。

                EX:ConSet:/ M / U VAR​​ = VALUE

                这些变量是从注册表中读取时,顶层
                CMD.EXE启动时,例如当打开一个新的控制台窗口。
                对这些变量的更改不会影响当前或儿童
                流程。

        / N StringToMatch
                只有变量(S)的名字将被打印出来。

                EX:ConSet / N



                上市时的正常输出变量是“VARNAME =价值”。
                此开关将导致只有VARNAME进行打印。

        / O
                当与/ A开关使用时,将在八进制数字输出
                形式。如果这个开关之后是一个小数,小数部分
                也将被转换和打印。如果开关/ F是包括在内,
                传统的八进制格式将被使用。

                例如:ConSet / AO十月= 100

        / P VAR =提示
                提示输入要在变量中。 “提示”将
                印刷作为提示。

                EX:ConSet / P用户名=你叫什么名字?

                显示指定的提示并等待输入。当返回
                输入,输入终止和字符串在存储
                指定的变量。间距允许后提示。在/ H
                开关可能被列入禁用输入回声。

        / Q
                禁止所有的错误报告。谨慎使用此开关。

                例如:ConSet / QD MyVars_

        / S
                设置成“ConSet_ ...”窗口和缓冲区参数变量。

                EX:ConSet / S
                EX:ConSet ConSet_Color = 0F

                设置与指示值以下变量:

               ConSet_Title控制台的窗口的标题。
                ConSet_Color *文本颜色。见“COLOR /?”对格式。
                ConSet_W_Lines *在控制台窗口的行数。
                ConSet_W_Cols *控制台窗口的数目列。
                ConSet_B_Lines *在控制台缓冲区的行数。
                ConSet_B_Cols *控制台缓冲区的数目colunms。
                ConSet_Cursor_sz *大小的百分比(0-100)
                                        光标。
                ConSet_Cursor_XY光标的*位置。左上角为0 0。
                ConSet_MaxWin_XY最大窗口大小permitable。

                如果ConSet用于修改的变量的任何
                标有星号,ConSet将调整控制台窗口
                匹配指定的值。上面的例子改变
                背景颜色为黑色,前景色为白色。该
                最大permitable缓冲区尺寸是32,767 32,767。

        / T VAR [= [值]]
                设置或清除注册表中的挥发性用户变量
                (临时)环境。

                EX:ConSet:/ T VAR = VALUE

                这些变量是从注册表中读取时,顶层
                CMD.EXE启动时,例如当打开一个新的控制台窗口。
                对这些变量的更改不会影响当前或儿童
                流程。这种环境不会被保存在用户注销。

        / U VAR​​ [= [值]]
                设置或清除注册表中的用户变量。

                EX:ConSet:/ M / U VAR​​ = VALUE

                这些变量是从注册表中读取时,顶层
                CMD.EXE启动时,例如当打开一个新的控制台窗口。
                对这些变量的更改不会影响当前或儿童
                流程。

        / V StringToMatch
                只有变量(S)的值将被打印出来。

                EX:ConSet / V

                上市时的正常输出变量是“VARNAME =价值”。
                此开关将导致唯一的价值进行打印。

        / X和/ X StringToMatch
                当与/ A开关使用时,将在十六进位数字输出
                形式。如果这个开关之后是一个小数,小数部分
                也将被转换和打印。

                例如:ConSet / AX“六角= NUM​​&0xF0”

                当一个字符串时,只有完全匹配的变量
                StringToMatch将打印或删除。

                EX:ConSet / X varName中
                EX:ConSet / DX varName中

                通常所有的变量名匹配或开始
                StringToMatch将打印或删除。此开关允许
                打印或删除只有一个变量相匹配
                准确。

        / CD
                设置成CD的当前目录。

                EX:ConSet / CD

                CD是支持作为一个动态的变量由Windows 2000但由
                不是由Windows NT4。这个开关使得获取当前
                目录NT4几乎一样简单。任何当前目录
                驱动器已经由CMD.EXE是当前实例访问
                也为变量%= D可用:%,其中D是驱动器号
                该驱动器。

        /日期[Y +值] [M +值] [D +值]
                设置成DATE本地日期(YYYY - MM - DD),当地的周数
                (S#M##)为一周,每天到DOY年局部(001-366)时,
                到WEEKDAY当地平日的名称,系统(UTC)日期(YYYY -
                MM - DD)进入SYSTEMDATE。

                EX:ConSet /日期

                DATE是一个动态的变量支持由Windows 2000但不
                由Windows NT4。这个开关使得获取当前日期
                NT4几乎一样简单。大多数脚本问题需要的
                日期定在容易分析的格式,以及国际
                该程序使用的标准就是这样。该周变量
                设置以“S##M##”,其中S#是与礼拜的周数
                作为一周的第一天M##是周数与
                周一作为一周的第一天。 WEEKDAY设置与
                平日名字在当地语言。随着1.2版本的变量
                JULIAN已取代变量DOY。 JULIAN仍将
                很短的过渡期使用。

                加法和减法可以执行当前日期
                生产日期相对它。这并不影响
                系统的日期。按照与所需的数学/日期开关,
                例如:

                ConSet / DATE Y +1 M - 13 D 30

        / PID = PID#
                让所有的进程标识的进程变化
                数的pid#“。

                EX:ConSet / PID = 245

                如果“PID#'指定的所有更改将在该
                环境指定的进程,而不是在当前
                环境。此功能只能用于写入
                进程的环境,所有的读取仍将从目前的
                环境。如果“PID#'没有指定,变量PID会
                设置了ConSet的父进程的PID#。

        /随机
                设置成随机的随机数。

                EX:ConSet /随机

                RANDOM是支持Windows 2000,但作为一个动态的变量
                不是由Windows NT4。这个开关使得获得一个随机数
                在NT4几乎一样简单。这个程序使用一个更好的
                算法并不比Windows 2000中。你可以看到区别,如果
                你叫都在紧张的循环。该函数rand()是可用
                在数学包。

        /时间
                设置本地时间(HH:MM:SS.mss)到时间,系统时间
                (HH:MM:SS.mss)到SYSTEMTIME,时间偏差([ - ]分钟)
                到TIMEBIAS。

                EX:ConSet /时间

                时间是一个动态的变量支持由Windows 2000但不
                由Windows NT4。这个开关使得获取当前时间
                NT4几乎一样简单。该TIMEBIAS变量表示的区别
                UTC分钟之间(系统时间)和本地时间(UTC =本地
                时间+ TIMEBIAS)。偏置不sdjusted如果增加或
                减法上执行时间变量。

                加法和减法可以完成对当前时间
                产生时间相对于它。这并不影响
                系统的时间。如果产生的时间延续到前一个或
                翌日,日期变量将被设置与适用
                日期。按照与所需的数学/定时开关,例如:

                ConSet /时间H +1 M - 13秒30


环境
        如果变量%ConSet_prec%是定义一个值,该值
        将被用作浮点数精度。

        这个程序创建,修改和删除环境变量。

REGISTRY
        这个程序没有从注册表中读取配置信息。

        在/ M / U和/ T开关的创建,修改或删除值
        机器或用户环境子项。

极限
        环境似乎有一个约32千字节的限制。

ERRORLEVEL
        对于所有的错误ERRORLEVEL设置为1。 ERRORLEVEL为0表示没有
        错误。

变动
       版本1.4
        1。修复了枚举注册表变量的一个小错误的决定。
       2。当开关/ M和/ U一起使用时,上市的路径
          变量,从机键,从用户的关键路径的路径会
          被连接为:PATH = <MACHINE> [;] <USER>。这是相同的
          行为的制度。其间的分号是只包括
          如果必要的。

BUGS
        很多。报告他们<[email]ConSet@fpw.static.pe.net[/email]>。

作者
        弗兰克P.西湖<[email]ConSet@fpw.static.pe.net[/email]>。

版权所有
        版权所有(C)2001年,2002年由Frank P.西湖。

致谢
        很大的帮助提供了细致的加里迪恩
        注重细节证明了许多宝贵的定位错误和
        确定与设置一些不一致的地方。

        为伽玛日志检索算法从一个计算器程序
        书面的TI - 92系列计算器。唯一给予信贷
        该方案的算法是“由Lanzcos”。

        在jdnc()算法和jd2g朱利安日()职能
        写了亨利和托马斯C. F. Fliegel范Flandern。

CONSET CONSET
作者: sxw    时间: 2011-6-25 19:19

楼上的为何不再提供一些代码实例,好有助于理解。
PS:机器翻译可以作为参考,可以自己再加工一下嘛,哈哈。
作者: caruko    时间: 2011-6-25 20:18

本帖最后由 caruko 于 2011-6-25 20:22 编辑

最近我对它做了测试,其中最有用的功能是:
1, 数组 (只支持数字),假如set "f=1 2 3 4 5 6" ,那么conset /a f[2] ,输出3。 省略麻烦的for+tokens。 其实做 字符数组 也是可以的,在出错信息里面包含了该位置的字符串。

2,conset /a 因为只支持数字,所以会对变量穷根到数字为止。 比如: set a=b,b=c,c=d,c=e,e=2 ,那么conset /a c 会输出2。

3,PID功能:很强大,可以修改,删除,增加其它进程的变量,就是不支持查看。

4,支持一个变量存储多行文本,以及|管道直接赋值。 但是不支持call :test|conset var= 这种形式,conset类似 for /f ,启动了新环境。

5,数学计算: 支持二进制,十六进制,浮点数。复杂计算可以写成函数的形式。在有大量计算时可以用它,简单计算不如set 效率。

6,find功能,字符查找功能,可以直接查找到匹配字符串的ofset偏移。

7,光标位置设置,可以做到很多特殊的输出情况。比如游戏类的BAT,无需整个CLS了,只需局部重新输出即可。

8,时间计算,再也无需麻烦的瑞年计算了。
作者: tmplinshi    时间: 2011-6-25 20:27

查看 PID 为 123 的变量:
  1. pv -g -i 123
复制代码

作者: clonecd    时间: 2012-5-20 09:03

功能超强啊,使用方法还要慢慢消化。
作者: chensjiu    时间: 2012-7-24 16:47

参数太多了啊
作者: ht河豚    时间: 2012-7-26 18:32

同意楼上的,谁能搞个非机器翻译的简单明了的帮助信息啊
作者: a415987611    时间: 2014-4-10 12:40

为什么我用conset会出现
ConSet: Error setting variable

就是定义不了变量
作者: dengyuli    时间: 2014-6-29 17:15

为什么我用conset会出现
ConSet: Error setting variable

就是定义不了变量

我的也一样
作者: email10t    时间: 2015-1-25 19:59

conset.exe被360误杀




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2