免费注册 找回密码     

查看: 3116|回复: 0
打印 上一主题 下一主题

Windows XP中的命令行界面

[复制链接]

2万

主题

2万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1
发表于 2009/11/16 22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
    [[/S] [/C | /K] string]
  其中:CMD是不可缺少的!
  /C   执行字符串指定的命令然后终断
  /K   执行字符串指定的命令但保留
  /S   在 /C 或 /K 后修改字符串处理(见下)
  /Q   关闭回应
  /D   从注册表中停用执行 AutoRun 命令(见下)
  /A   使向内部管道或文件命令的输出成为 ANSI
  /U   使向内部管道或文件命令的输出成为 Unicode
  /T:fg  设置前景/背景颜色(详细信息,请见 COLOR /?)
  /E:ON  启用命令扩展(见下)
  /E:OFF 停用命令扩展(见下)
  /F:ON  启用文件和目录名称完成字符 (见下)
  /F:OFF 停用文件和目录名称完成字符(见下)
  /V:ON  将 ! 作为定界符启动延缓环境变量扩展。如: /V:ON 会允许 !var! 在执行时允
许 !var! 扩展变量 var。var 语法在输入时扩展变量,这与在一个 FOR 循环内不同。
  /V:OFF 停用延缓的环境扩展。
  请注意,如果字符串有引号,可以接受用命令分隔符 ''&&'' 隔开的多个命令。并且,由于
兼容原因,/X 与 /E:ON 相同,/Y 与/E:OFF 相同,并且 /R 与 /C 相同。忽略任何其他命令
行开关。如果指定了 /C 或 /K,命令行开关后的命令行其余部分将作为命令行处理;在这种
情况下,会使用下列逻辑处理引号字符("):
  1.如果符合下列所有条件,那么在命令行上的引号字符将被
    保留:
    - 不带 /S 命令行开关
    - 整整两个引号字符
    - 在两个引号字符之间没有特殊字符,特殊字符为下列中的
     一个: (大于符号)
  $H  Backspace (擦除前一个字符)
  $L  >        - 逻辑移位
            - 按位“与”
  ^          - 按位“异”
  |          - 按位“或”
  = *= /= %= += -= - 赋值
  &= ^= |= >=
            - 表达式分隔符
  如果您使用任何逻辑或取余操作符, 您需要将表达式字符串用引号扩起来。在表达式中
的任何非数字字符串键作为环境变量名称,这些环境变量名称的值已在使用前转换成数字。如
果指定了一个环境变量名称,但未在当前环境中定义,那么值将被定为零。这使您可以使用环
境变量值做计算而不用键入那些 % 符号来得到它们的值。如果 SET /A 在命令脚本外的命令
行执行的,那么它显示该表达式的最后值。该分配的操作符在分配的操作符左边需要一个环境
变量名称。除十六进制有 0x 前缀,八进制有 0 前缀的,数字值为十进位数字。因此, 0x1
2 与 18 和 022相同。请注意八进制公式可能很容易搞混: 08 和 09 是无效的数字,因为 8
和 9 不是有效的八进制位数。
  /P 命令行开关允许将变量数值设成用户输入的一行输入。读取输入行之前,显示指定的
promptString。promptString 可以是空的。
  环境变量替换已如下增强:
  %PATH:str1=str2%
  会扩展 PATH 环境变量,用 "str2" 代替扩展结果中的每个 "str1"。
  要有效地从扩展结果中删除所有的 "str1","str2" 可以是空的。
  "str1" 可以以星号打头;在这种情况下,"str1" 会从扩展结果的开始到 str1 剩余部分
第一次出现的地方,都一直保持相配。
  也可以为扩展名指定子字符串。
  %PATH:~10,5%
  会扩展 PATH 环境变量,然后只使用在扩展结果中从第 11 个(偏移量 10)字符开始的五
个字符。如果没有指定长度,则采用默认值,即变量数值的余数。如果两个数字(偏移量和长
度)都是负数,使用的数字则是环境变量数值长度加上指定的偏移量或长度。
  %PATH:~-10%
  会提取 PATH 变量的最后十个字符。
  %PATH:~0,-2%
  会提取 PATH 变量的所有字符,除了最后两个。
  终于添加了延迟环境变量扩充的支持。该支持总是按默认值被停用,但也可以通过 CMD.
EXE 的 /V 命令行开关而被启用/停用。
  考虑到读取一行文本时所遇到的目前扩充的限制时,延迟环境变量扩充是很有用的,而不
是执行的时候。以下例子说明直接变量扩充的问题:
  set VAR=before
  if "%VAR%" == "before" (
    set VAR=after
    if "%VAR%" == "after" @echo If you see this, it worked
  )
  不会显示消息,因为在读到第一个 IF 语句时,BOTH IF 语句中的 %VAR% 会被代替;原
因是: 它包含 IF 的文体,IF 是一个复合语句。所以,复合语句中的 IF 实际上是在比较 "
before" 和"after",这两者永远不会相等。同样,以下这个例子也不会达到预期效果:
  set LIST=
  for %i in (*) do set LIST=%LIST% %i
  echo %LIST%
  原因是它不会在目前的目录中建立一个文件列表,而只是将LIST 变量设成找到的最后一
个文件。这也是因为 %LIST% 在FOR 语句被读取时,只被扩充了一次;而且,那时的 LIST 变
量是空的。因此,我们真正执行的 FOR 循环是:
  for %i in (*) do set LIST= %i
  这个循环继续将 LIST 设成找到的最后一个文件。
  延迟环境变量扩充允许您使用一个不同的字符(惊叹号)在执行时间扩充环境变量。如果延
迟的变量扩充被启用,可以将上面例子写成以下所示,以达到预期效果:
  set VAR=before
  if "%VAR%" == "before" (
    set VAR=after
    if "!VAR!" == "after" @echo If you see this, it worked
  )
  set LIST=
  for %i in (*) do set LIST=!LIST! %i
  echo %LIST%
  如果命令扩展名被启用,有几个动态环境变量可以被扩展,但不会出现在 SET 显示的变
量列表中。每次变量数值被扩展时,这些变量数值都会被动态计算。如果用户用这些名称中任
何一个定义变量,那个定义会替代下面描述的动态定义:
  %CD% - 扩展到当前目录字符串。
  %DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。
  %TIME% - 用跟 TIME 命令同样的格式扩展到当前时间。
  %RANDOM% - 扩展到 0 和 32767 之间的任意十进制数字。
  %ERRORLEVEL% - 扩展到当前 ERRORLEVEL 数值。
  %CMDEXTVERSION% - 扩展到当前命令处理器扩展名版本号。
  %CMDCMDLINE% - 扩展到调用命令处理器的原始命令行。
  9、SETLOCAL
  开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后所做的环境改动只限于
批处理文件。要还原原先的设置,必须执行 ENDLOCAL。达到批处理文件结尾时,对于该批处
理文件的每个尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被执行。
  SETLOCAL
  如果命令扩展名被启用,SETLOCAL 会如下改变:
  SETLOCAL 批命令现在可以接受可选参数:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
    启动或停用命令处理器扩展名。详细信息,请参阅 CMD /?。
    ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
      启动或停用延缓环境变量扩展名。详细信息,请
      参阅 对SET的介绍 。
  无论在 SETLOCAL 命令之前它们的设置是什么,这些修改会一直保留到匹配的 ENDLOCAL
命令。
  如果有一个参数,SETLOCAL 命令将设置 ERRORLEVEL 的值。
  如果有两个有效参数中的一个,该值则为零。用下列技巧,您可以在批脚本中使用这个来
决定扩展名是否可用:
  VERIFY OTHER 2>nul
  SETLOCAL ENABLEEXTENSIONS
  IF ERRORLEVEL 1 echo Unable to enable extensions
  这个方法之所以有效,是因为在 CMD.EXE 的旧版本上,SETLOCAL不设置 ERRORLEVEL 值
。具有不正确参数的 VERIFY 命令将ERRORLEVEL 值初始化成非零值。
  10、ENDLOCAL
  结束批处理文件中环境改动的本地化操作。在执行ENDLOCAL 之后所做的环境改动不再仅
限于批处理文件。批处理文件结束后,原先的设置无法还原。
  ENDLOCAL
  如果命令扩展名被启用,ENDLOCAL 会如下改变:
  如果相应的 SETLOCAL 用新的 ENABLEEXTENSIONS 或DISABLEEXTENSIONS 选项启用或停用
了命令扩展名,那么,在ENDLOCAL 之后,命令扩展名的启用/停用状态会还原到执行相应的
SETLOCAL 命令前的状态。
  11、IF
  执行批处理程序中的条件处理。
  IF [NOT] ERRORLEVEL number command
  IF [NOT] string1==string2 command
  IF [NOT] EXIST filename command
  NOT      指定只有条件为 false 的情况下, Windows XP 才
          应该执行该命令。
  ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出编码,指定
条件为 true。
  string1==string2 如果指定的文字字符串匹配,指定条件为 true。
  EXIST filename  如果指定的文件名存在,指定条件为 true。
  command     如果符合条件,指定要执行的命令。如果指定的
条件为 FALSE,命令后可跟一个执行 ELSE
关键字后的命令的 ELSE 命令。
  ELSE 子句必须在 IF 之后出现在同一行上。例如:
  IF EXIST filename. (
    del filename.
  ) ELSE (
    echo filename. missing.
  )
  因为 del 命令需要用一个新行终止,以下子句不会有效:
  IF EXIST filename. del filename. ELSE echo filename. missing
  由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也不会有效:
  IF EXIST filename. del filename.
  ELSE echo filename. missing
  如果都放在同一行上,以下子句有效:
  IF EXIST filename. (del filename.) ELSE echo filename. missing
  如果命令扩展名被启用,IF 会如下改变:
  IF string1 compare-op string2 command
  IF CMDEXTVERSION number command
  IF DEFINED variable command
  其中,比较运算符可以是:
  EQU - 等于
  NEQ - 不等于
  LSS - 小于
  LEQ - 小于或等于
  GTR - 大于
  GEQ - 大于或等于
  及 /I 开关;如果该开关被指定,则说明要进行的字符串比较不分大小写。/I 开关可以
用于 IF 的 string1==string2 的形式上。这些比较都是通用的;原因是,如果 string1 和
string2 都是由数字组成的,字符串会被转换成数字,进行数字比较。
  CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它是在跟与命令扩展名有关联的
内部版本号比较。第一个版本是 1。每次对命令扩展名有相当大的增强时,版本号会增加一个

  命令扩展名被停用时,CMDEXTVERSION 条件不是真的。
  如果已定义环境变量,DEFINED 条件的作用跟 EXISTS 的一样,除了它取得一个环境变量
,返回的结果是 true。
  如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%会扩充为 ERROLEVEL 当前数值的
字符串表达式;否则,您会得到其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:
  goto answer%ERRORLEVEL%
  :answer0
echo Program had return code 0
  :answer1
  echo Program had return code 1
  您也可以使用以上的数字比较:
  IF %ERRORLEVEL% LEQ 1 goto okay
  如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%将在 CMD.EXE 进行任何处理前扩
充为传递给 CMD.EXE 的原始命令行;否则,您会得到其数值。
  如果没有名为 CMDEXTVERSION 的环境变量,%CMDEXTVERSION% 会扩充为 CMDEXTVERSION
当前数值的
字串符表达式;否则,您会得到其数值。
  12、FOR
  FOR %variable IN (set) DO command [command-parameters]
  %variable 指定一个单一字母可替换的参数。
  (set)   指定一个或一组文件。可以使用通配符。
  command  指定对每个文件执行的命令。
  command-parameters
      为特定命令指定参数或命令行开关。
  在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变
量名称是区分大小写的,所以 %i 不同于 %I.如果命令扩展名被启用,下列额外的 FOR 命令
格式会受到支持:
  FOR /D %variable IN (set) DO command [command-parameters]
  如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
  FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
  检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没有指
定目录,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
  FOR /L %variable IN (start,step,end) DO command [command-parameters]
  该集表示以增量形式从开始到结束的一个数字序列。
  因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。
  FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
  FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
  FOR /F ["options"] %variable IN (''command'') DO command [command-parameters]
  或者,如果有 usebackq 选项:
  FOR /F ["options"] %variable IN (file-set) DO command [command-parameters]
  FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
  FOR /F ["options"] %variable IN (''command'') DO command [command-parameters]
  filenameset 为一个或多个文件名。继续到 filenameset 中的下一个文件之前,每份文
件都已被打开、读取并经过处理。
  处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。然后用
已找到的符号字符串变量值调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开的
第一个空白符号。跳过空白行。您可通过指定可选 "options"参数替代默认解析操作。这个带
引号的字符串包括一个或多个指定不同解析选项的关键字。这些关键字为:
    eol=c      - 指一个行注释字符的结尾(就一个)
    skip=n      - 指在文件开始时忽略的行数。
    delims=xxx    - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。
    tokens=x,y,m-n  - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致
额外变量名称的分配。m-n格式为一个范围。通过 nth 符号指定 mth。如果符号字符串中的最
后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。
    usebackq     - 指定新语法已在下类情况中使用:
            在作为命令执行一个后引号的字符串并且一个单引号字符为文字字
符串命令并允许在 filenameset中使用双引号扩起文件名称。
  某些范例可能有助:
  FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
  会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个
符号传递给 for 程序体;用逗号和/或空格定界符号。请注意,这个 for 程序体的语句引用
%i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩
余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双
引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符
串的。
  %i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可
以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 ''z'' 或''Z'' 的变量
。请记住,FOR 变量是单一字母、分大小写和全局的;而且,同时不能有 52 个以上都在使用
中。
  您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 file
nameset 括起来。这样,该字符串会被当作一个文件中的一个单一输入行。
  最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset
变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内
存,并被当作文件分析。因此,以下例子:
  FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
  会枚举当前环境中的环境变量名称。
  另外,FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:
  ~I    - 删除任何引号("),扩充 %I
  %~fI   - 将 %I 扩充到一个完全合格的路径名
  %~dI   - 仅将 %I 扩充到一个驱动器号
  %~pI   - 仅将 %I 扩充到一个路径
  %~nI   - 仅将 %I 扩充到一个文件名
  %~xI   - 仅将 %I 扩充到一个文件扩展名
  %~sI   - 扩充的路径只含有短名
  %~aI   - 将 %I 扩充到文件的文件属性
  %~tI   - 将 %I 扩充到文件的日期/时间
  %~zI   - 将 %I 扩充到文件的大小
  %~$PATH:I - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个完全合格的名
称。如果环境变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串
  可以组合修饰符来得到多重结果:
  %~dpI   - 仅将 %I 扩充到一个驱动器号和路径
  %~nxI   - 仅将 %I 扩充到一个文件名和扩展名
  %~fsI   - 仅将 %I 扩充到一个带有短名的完整路径名
  %~dp$PATH:i - 查找列在路径环境变量的目录,并将 %I 扩充到找到的第一个驱动器号和
路径。
  %~ftzaI  - 将 %I 扩充到类似输出线路的 DIR
  在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法用一个有效的 FOR 变量名
终止。选取类似 %I 的大写变量名比较易读,而且避免与不分大小写的组合键混淆。
  13、CALL
  从批处理程序调用另一个批处理程序。
  CALL [drive:][path]filename [batch-parameters]
  batch-parameters 指定批处理程序所需的命令行信息。
  如果命令扩展名被启用,CALL 会如下改变:
  CALL 命令现在将卷标当作 CALL 的目标接受。语法是:
  CALL:label arguments
  一个新的批文件上下文由指定的参数所创建,控制在卷标被指定后传递到语句。您必须通
过达到批脚本文件末两次来 "exit" 两次。
  第一次读到文件末时,控制会回到 CALL 语句的紧后面。第二次会退出批脚本。键入 GO
TO /?,参看 GOTO : EOF 扩展名的描述,此描述允许您从一个批脚本返回。
  另外,批脚本文本参数参照(%0、%1、等等)已如下改变:
  批脚本里的 %* 指出所有的参数(如 %1 %2 %3 %4 %5 ...)
  批参数(%n)的替代已被增强。您可以使用以下语法:
  %~1    - 删除引号("),扩充 %1
  %~f1    - 将 %1 扩充到一个完全合格的路径名
  %~d1    - 仅将 %1 扩充到一个驱动器号
  %~p1    - 仅将 %1 扩充到一个路径
  %~n1    - 仅将 %1 扩充到一个文件名
  %~x1    - 仅将 %1 扩充到一个文件扩展名
  %~s1    - 扩充的路径指含有短名
  %~a1    - 将 %1 扩充到文件属性
  %~t1    - 将 %1 扩充到文件的日期/时间
  %~z1    - 将 %1 扩充到文件的大小
  %~$PATH : 1 - 查找列在 PATH 环境变量的目录,并将 %1扩充到找到的第一个完全合格
的名称。如果环境 变量名未被定义,或者没有找到文件,此组合键会扩充到空字符串可以组
合修定符来取得多重结果:
  %~dp1   - 只将 %1 扩展到驱动器号和路径
  %~nx1   - 只将 %1 扩展到文件名和扩展名
  %~dp$PATH:1- 在列在 PATH 环境变量中的目录里查找 %1,并扩展到找到的第一个文件的
驱动器号和路径。
  %~ftza1  - 将 %1 扩展到类似 DIR 的输出行。
  在上面的例子中,%1 和 PATH 可以被其他有效数值替换。
  %~ 语法被一个有效参数号码终止。%~ 修定符不能跟 %*
  使用
  14、SHIFT
  更改批处理文件中可替换参数的位置。
  SHIFT [/n]
  如果命令扩展名被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉命令从第 n
个参数开始移位;n 介于零和八之间。例如:
  SHIFT /2
  会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。
  15、GOTO
  将 cmd.exe 导向到批处理程序中带标签的行。
  GOTO label
  label  指定批处理程序中用作标签的文字字符串。
  标签必须单独一行,并且以冒号打头。
  如果命令扩展名被启用,GOTO 会如下改变:
  GOTO 命令现在接受目标标签 :EOF,这个标签将控制转移到当前批脚本文件的结尾。不定
义就退出批脚本文件,这是一个容易的办法。有关能使该功能有用的 CALL 命令的扩展名描述
,请参考CALL的介绍
  16、START (同时包括对外部命令调用所做的更改)
  启动另一个窗口运行指定的程序或命令。
  START ["title"] [/Dpath] [/MIN] [/MAX] [/SEPARATE | /SHARED]
   [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
   [/WAIT] [command/program]
   [parameters]
  "title"  在窗口标题栏中显示的标题。
  path    起始目录
  B     在不创建新窗口的情况下开始应用程序。 除非启动 ^C 处理,否则该应用程
序会忽略 ^C 处理;^Break 是唯一可以中断该应用程序的方式
  I     新环境是传递给 cmd.exe 的原始环境,而不是当前环境
  MIN    开始时窗口最小化
  MAX    开始时窗口最大化
  SEPARATE  在分开的空间内开始 16 位 Windows 程序
  SHARED   在分共享的空间内开始 16 位 Windows 程序
  LOW     在 IDLE 优先级类别开始应用程序
  NORMAL   在 NORMAL 优先级类别开始应用程序
  HIGH    在 HIGH 优先级类别开始应用程序
  REALTIME  在 REALTIME 优先级类别开始应用程序
  ABOVENORMAL 在 ABOVENORMAL 优先级类别开始应用程序
  BELOWNORMAL 在 BELOWNORMAL 优先级类别开始应用程序
  WAIT    启动应用程序并等候它结束
  command/program 如果是内部 cmd 命令或批文件,那么该命令处理器是用 /K 命令行开
关运行 cmd.exe 的。这表示该窗口在命令运行后仍然存在。
      如果不是内部 cmd 命令或批文件,则是一个程序,并作为窗口应用程序或控制
台应用程序运行。
  parameters 这些为传送到命令/程序的参数如果命令扩展名被启用,通过命令行或 STA
RT 命令的外部命令调用会如下改变:
  将文件名作为命令键入,非可执行文件 可以通过文件关联调用。
  (例如, WORD.DOC 会调用跟 .DOC 文件扩展名关联的应用程序)。
  关于如何从命令脚本内部创建这些关联,请参阅 ASSOC 和FTYPE 命令。
  执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示
。如果在命令脚本内执行,该新行为则不会发生。
  如果执行的命令行的第一个符号是不带扩展名或路径修饰符的字符串 "CMD","CMD" 会被
COMSPEC 变量的数值所替换。这防止从当前目录抓出 CMD.EXE。
  如果执行的命令行的第一个符号没有扩展名,CMD.EXE 会使用PATHEXT 环境变量的数值来
决定要以什么顺序寻找哪些扩展名。PATHEXT 变量的默认值是:
    .COM;.EXE;.BAT;.CMD
  请注意,该语法跟 PATH 变量的一样,分号隔开不同的元素。
  查找可执行文件时,如果没有相配的扩展名,看一看该名称是否与目录名相配。如果确实
如此,START 会在那个路径上调用EXPlorer。如果从命令行执行,则等同于对那个路径作 CD
/D。
  17、ASSOC
  显示或修改文件扩展名关联ASSOC [.ext[=[fileType]]]
  .ext   指定跟文件类型关联的文件扩展名
  fileType 指定跟文件扩展名关联的文件类型
  键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展名调用 ASSOC,则显示
那个文件扩展名的当前文件关联。如果不为文件类型指定任何参数,命令会删除文件扩展名的
关联。
  18、FTYPE
  显示或修改用在文件扩展名关联中的文件类型FTYPE [fileType[=[openCommandString]]
]
  fileType 指定要检查或改变的文件类型
  openCommandString 指定调用这类文件时要使用的开放式命令。
  键入 FTYPE 而不带参数来显示当前有定义的开放式命令字符串的文件类型。 FTYPE 仅用
一个文件类型启用时,它显示那个文件类型目前的开放式命令字符串。如果不为开放式命令字
符串指定,FTYPE 命令将删除那个文件类型的开放式命令字符串。在一个开放式命令字符串之
内,命令字符串 %0 或 %1 被通过关联调用的文件名所代替。%* 得到所有的参数,%2 得到第
一个参数,%3 得到第二个,等等。%~n 得到其余所有以 nth 参数打头的参数;n 可以是从
2 到 9 的数字。例如:
  ASSOC .pl=PerlScript
  FTYPE PerlScript=perl.exe %1 %*
  允许您启用以下 Perl 脚本:
  script.pl 1 2 3
  如果不想键入扩展名,则键入以下字符串:
  set PATHEXT=.pl;%PATHEXT%
  被启动的脚本如下:
  script 1 2 3
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

QQ|Archiver|兴宁A8 ( 粤ICP备17110913号 粤公网安备44140202000139号)  

GMT+8, 2024/11/24 04:26

© 兴宁A8

手机绑定 兴宁A8支持手机、电脑、平板一站式访问!

快速回复 返回顶部 返回列表