Windows批处理文件语法【扩展补充】

目录

Windows批处理文件语法【精讲要义】

Windows批处理文件语法【常用命令】

Windows批处理文件语法【扩展补充】

 

四、命令(续)
⑴'errorlevel'     变量,上一条命令的返回值
⑵'title'          设置命令提示窗口的窗口标题。
TITLE [string]
  string       指定命令提示窗口的标题。

⑶'color'          设置默认的控制台前景和背景颜色。
COLOR [attr]
  attr        指定控制台输出的颜色属性。
颜色属性由两个十六进制数字指定 -- 第一个
对应于背景,第二个对应于前景。每个数字
可以为以下任何值:
    0 = 黑色       8 = 灰色
    1 = 蓝色       9 = 淡蓝色
    2 = 绿色       A = 淡绿色
    3 = 浅绿色     B = 淡浅绿色
    4 = 红色       C = 淡红色
    5 = 紫色       D = 淡紫色
    6 = 黄色       E = 淡黄色
    7 = 白色       F = 亮白色
如果没有给定任何参数,此命令会将颜色还原到 CMD.EXE 启动时
的颜色。这个值来自当前控制台
窗口、/T 命令行开关或 DefaultColor 注册表
值。
如果尝试使用相同的
前景和背景颜色来执行
 COLOR 命令,COLOR 命令会将 ERRORLEVEL 设置为 1。
示例: "COLOR fc" 在亮白色上产生淡红色

⑷'mode'           配置系统设备。
串行端口:          MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s]
                                [to=on|off] [xon=on|off] [odsr=on|off]
                                [octs=on|off] [dtr=on|off|hs]
                                [rts=on|off|hs|tg] [idsr=on|off]
设备状态:          MODE [device] [/STATUS]
打印重定向:        MODE LPTn[:]=COMm[:]
选择代码页:        MODE CON[:] CP SELECT=yyy
代码页状态:        MODE CON[:] CP [/STATUS]
显示模式:          MODE CON[:] [COLS=c] [LINES=n]
击键率:            MODE CON[:] [RATE=r DELAY=d]

⑸'assoc'          显示或修改文件扩展名关联
ASSOC [.ext[=[fileType]]]
  .ext      指定跟文件类型关联的文件扩展名
  fileType  指定跟文件扩展名关联的文件类型
键入 ASSOC 而不带参数,显示当前文件关联。如果只用文件扩展
名调用 ASSOC,则显示那个文件扩展名的当前文件关联。如果不为
文件类型指定任何参数,命令会删除文件扩展名的关联。

⑹'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

⑺'pushd'          保存当前目录以供 POPD 命令使用,然后改到指定的目录。
PUSHD [path | ..]
  path        指定要成为当前目录的目录。
如果命令扩展被启用,除了一般驱动器号和路径,PUSHD
命令还接受网络路径。如果指定了网络路径,PUSHD 将创建一个
指向指定网络资源的临时驱动器号,然后再用刚定义的驱动器
号更改当前的驱动器和目录。可以从 Z: 往下分配临时驱动器
号,使用找到的第一个没有用过的驱动器号。

⑻'popd'           更改到 PUSHD 命令存储的目录。
POPD
如果命令扩展被启用,从推目录堆栈 POPD 驱动器时,POPD
命令会删除 PUSHD 创建的临时驱动器号。

⑼'shift'          更改批处理文件中可替换参数的位置。
SHIFT [/n]
如果命令扩展被启用,SHIFT 命令支持/n 命令行开关;该命令行开关告诉
命令从第 n 个参数开始移位;n 介于零和八之间。例如:
    SHIFT /2
会将 %3 移位到 %2,将 %4 移位到 %3,等等;并且不影响 %0 和 %1。

⑽'setx'           SetX 有三种使用方式:
语法 1:
    SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]
语法 2:
    SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]
语法 3:
    SETX [/S system [/U [domain\]user [/P [password]]]]
         /F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]
描述:
    在用户或系统环境创建或修改环境变量。能基于参数、注册表项或文件输
    入设置变量。
参数列表:
    /S     system          指定要连接到的远程系统。
    /U     [domain\]user   指定应该在哪个用户上下文执行命令。
    /P     [password]      指定给定用户上下文的密码。如果省略则
                           提示输入。
    var                    指定要设置的环境变量。
    value                  指定分配给环境变量的值。
    /K     regpath         指定变量是基于注册表项的信息而设置的。
                           路径的格式应该是 hive\key\...\value。例如
                           HKEY_LOCAL_MACHINE\System\CurrentControlSet\
                           Control\TimeZoneInformation\StandardName。
    /F     file            指定要使用的文本文件的文件名。
    /A     x,y             指定绝对文件坐标(线 X,项目 Y)作为在此文件
                           里搜索的参数。
    /R     x,y string      指定有关“字符串”作为搜索参数的相对文件坐标。
    /M                     指定应该在系统 (HKEY_LOCAL_MACHINE) 环境中设
                           置此变量。在 HKEY_CURRENT_USER 环境下,默认
                           将设置此变量。
    /X                     用 x,y 坐标显示文件内容。
    /D     delimiters      指定其他限定符,如 "," 或 "\"。
                           内置分隔符是空格、制表符、回车和换行符。所有
                           ASCII 字符都可作为限定符。限定符的最大数量,
                           包括内置分隔符,是 15。

⑾'cscript'        执行命令行脚本
用法:CScript scriptname.extension [option...] [arguments...]
选项:
 //B         批模式:不显示脚本错误及提示信息
 //D         启用 Active Debugging
 //E:engine  使用执行脚本的引擎
 //H:CScript 将默认的脚本宿主改为 CScript.exe
 //H:WScript 将默认的脚本宿主改为 WScript.exe (默认)
 //I         交互模式(默认,与 //B 相对)
 //Job:xxxx  执行一个 WSF 工作
 //Logo      显示徽标(默认)
 //Nologo    不显示徽标:执行时不显示标志
 //S         为该用户保存当前命令行选项
 //T:nn      超时设定秒:允许脚本运行的最长时间
 //X         在调试器中执行脚本
 //U         用 Unicode 表示来自控制台的重定向 I/O

⑿'wscript'        执行窗口脚本
用法:WScript scriptname.extension [option...] [arguments...]
选项:
 //B         批模式:不显示脚本错误及提示信息
 //D         启用 Active Debugging
 //E:engine  使用执行脚本的引擎
 //H:CScript 将默认的脚本宿主改为 CScript.exe
 //H:WScript 将默认的脚本宿主改为 WScript.exe (默认)
 //I         交互模式(默认,与 //B 相对)
 //Job:xxxx  执行一个 WSF 工作
 //Logo      显示徽标(默认)
 //Nologo    不显示徽标:执行时不显示标志
 //S         为该用户保存当前命令行选项
 //T:nn      超时设定秒:允许脚本运行的最长时间
 //X         在调试器中执行脚本


help命令列出的命令参考:
ASSOC          显示或修改文件扩展名关联。
ATTRIB         显示或更改文件属性。
BREAK          设置或清除扩展式 CTRL+C 检查。
BCDEDIT        设置启动数据库中的属性以控制启动加载。
CACLS          显示或修改文件的访问控制列表(ACL)。
CALL           从另一个批处理程序调用这一个。
CD             显示当前目录的名称或将其更改。
CHCP           显示或设置活动代码页数。
CHDIR          显示当前目录的名称或将其更改。
CHKDSK         检查磁盘并显示状态报告。
CHKNTFS        显示或修改启动时间磁盘检查。
CLS            清除屏幕。
CMD            打开另一个 Windows 命令解释程序窗口。
COLOR          设置默认控制台前景和背景颜色。
COMP           比较两个或两套文件的内容。
COMPACT        显示或更改 NTFS 分区上文件的压缩。
CONVERT        将 FAT 卷转换成 NTFS。你不能转换
               当前驱动器。
COPY           将至少一个文件复制到另一个位置。
DATE           显示或设置日期。
DEL            删除至少一个文件。
DIR            显示一个目录中的文件和子目录。
DISKPART       显示或配置磁盘分区属性。
DOSKEY         编辑命令行、撤回 Windows 命令并
               创建宏。
DRIVERQUERY    显示当前设备驱动程序状态和属性。
ECHO           显示消息,或将命令回显打开或关闭。
ENDLOCAL       结束批文件中环境更改的本地化。
ERASE          删除一个或多个文件。
EXIT           退出 CMD.EXE 程序(命令解释程序)。
FC             比较两个文件或两个文件集并显示
               它们之间的不同。
FIND           在一个或多个文件中搜索一个文本字符串。
FINDSTR        在多个文件中搜索字符串。
FOR            为一组文件中的每个文件运行一个指定的命令。
FORMAT         格式化磁盘,以便用于 Windows。
FSUTIL         显示或配置文件系统属性。
FTYPE          显示或修改在文件扩展名关联中使用的文件
               类型。
GOTO           将 Windows 命令解释程序定向到批处理程序
               中某个带标签的行。
GPRESULT       显示计算机或用户的组策略信息。
GRAFTABL       使 Windows 在图形模式下显示扩展
               字符集。
HELP           提供 Windows 命令的帮助信息。
ICACLS         显示、修改、备份或还原文件和
               目录的 ACL。
IF             在批处理程序中执行有条件的处理操作。
LABEL          创建、更改或删除磁盘的卷标。
MD             创建一个目录。
MKDIR          创建一个目录。
MKLINK         创建符号链接和硬链接
MODE           配置系统设备。
MORE           逐屏显示输出。
MOVE           将一个或多个文件从一个目录移动到另一个
               目录。
OPENFILES      显示远程用户为了文件共享而打开的文件。
PATH           为可执行文件显示或设置搜索路径。
PAUSE          暂停批处理文件的处理并显示消息。
POPD           还原通过 PUSHD 保存的当前目录的上一个
               值。
PRINT          打印一个文本文件。
PROMPT         更改 Windows 命令提示。
PUSHD          保存当前目录,然后对其进行更改。
RD             删除目录。
RECOVER        从损坏的或有缺陷的磁盘中恢复可读信息。
REM            记录批处理文件或 CONFIG.SYS 中的注释(批注)。
REN            重命名文件。
RENAME         重命名文件。
REPLACE        替换文件。
RMDIR          删除目录。
ROBOCOPY       复制文件和目录树的高级实用工具
SET            显示、设置或删除 Windows 环境变量。
SETLOCAL       开始本地化批处理文件中的环境更改。
SC             显示或配置服务(后台进程)。
SCHTASKS       安排在一台计算机上运行命令和程序。
SHIFT          调整批处理文件中可替换参数的位置。
SHUTDOWN       允许通过本地或远程方式正确关闭计算机。
SORT           对输入排序。
START          启动单独的窗口以运行指定的程序或命令。
SUBST          将路径与驱动器号关联。
SYSTEMINFO     显示计算机的特定属性和配置。
TASKLIST       显示包括服务在内的所有当前运行的任务。
TASKKILL       中止或停止正在运行的进程或应用程序。
TIME           显示或设置系统时间。
TITLE          设置 CMD.EXE 会话的窗口标题。
TREE           以图形方式显示驱动程序或路径的目录
               结构。
TYPE           显示文本文件的内容。
VER            显示 Windows 的版本。
VERIFY         告诉 Windows 是否进行验证,以确保文件
               正确写入磁盘。
VOL            显示磁盘卷标和序列号。
XCOPY          复制文件和目录树。
WMIC           在交互式命令 shell 中显示 WMI 信息。

 

三、特殊字符(续)

其他特殊字符:(可能重复,可以跳过)
    1.@
    隐藏命令的回显。
    2.~
    在for中表示使用增强的变量扩展;
    在set中表示使用扩展环境变量指定位置的字符串;
    在set/a中表示按位取反。
    3.%
    使用两个%包含一个字符串表示引用环境变量。比如一个%time%可以引用当前的系统时间;
    单个%紧跟0-9的一个数字表示引用命令行参数;
    用于for中表示引用循环变量;
    连续的两个%表示执行时脱为一个%。
    4.^
    取消转义字符,即将所有转义字符的转义作用关闭。比如要在屏幕显示一些特殊的字符,比如> >> | ^等时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了;
    在set /a中是按位异或;
    在findstr/r的[]中表示不匹配指定的字符集。
    5.&
    命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令;
    在set /a中是按位与。
    6.*
    代表任意个任意字符,就是我们通常所说的"通配符";比如想在c盘的根目录查找c盘根目录里所有的文本文件(.txt),那么就可以输入命令"dir c:\*.txt";
    在set /a中是乘法。比如"set /a x=4*2",得到的结果是8;
    在findstr/r中表示将前一个字符多次匹配。
    7.()
    命令包含或者是具有优先权的界定符吧,比如for命令要用到这个(),我们还可以在if,echo等命令中见到它的身影;
    8.-
    范围表示符,比如日期的查找,for命令里的tokens操作中就可以用到这个字符;
    在findstr/r中连接两个字符表示匹配范围;
    -跟在某些命令的/后表示取反向的开关。
    9.+
    主要是在copy命令里面会用到它,表示将很多个文件合并为一个文件,就要用到这个+字符了;
    在set /a中是加法。
    10.|
    管道符。就是将上一个命令的输出,作为下一个命令的输入."dir /a/b | more"就可以逐屏的显示dir命令所输出的信息;
    在set /a中是按位或;
    在帮助文档中表示其前后两个开关、选项或参数是二选一的。
    11.:
    标签定位符,可以接受goto命令所指向的标签。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"变迁后面来执行批处理命令了。
    12." "
    界定符,在表示带有空格的路径时常要用""来将路径括起来,在一些命令里面也需要" "符号;
    在for/f中将表示它们包含的内容当作字符串分析;
    在for/f "usebackq"表示它们包含的内容当作文件路径并分析其文件的内容;
    在其它情况下表示其中的内容是一个完整的字符串,其中的>、>>、<、&、|、空格等不再转义。
    13./
    表示其后的字符(串)是命令的功能开关(选项)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数;
    在set /a中表示除法。
    14.>
    命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。比如可以用"dir > lxmxn.txt"将"dir"命令的结果输出到"lxmxn.txt"这个文本文件中去;
    在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用。
    15.>>
    命令重定向符。将其前面的命令的输出结果重新定向到其后面的设备中去,后面设备中的内容没有被覆盖。
    16.<
    将其后面的文件的内容作为其前面命令的输入。
    在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用。
    17.=
    赋值符号,用于变量的赋值。比如"set a=windows"的意思意思是将"windows"这个字符串赋给变量"a";
    在set /a中表示算术运算,比如"set /a x=5-6*5"。
    18.\
    这个"\"符号在有的情况下,代表的是当前路径的根目录.比如当前目录在c:\windows\system32下,那么你"dir \"的话,就相当与"dir c:\"
    在findstr/r中表示正则转义字符。
    19.''
    在for/f中表示将它们包含的内容当作命令行执行并分析其输出;
    在for/f "usebackq"中表示将它们包含的字符串当作字符串分析。
    20..
    在路径的\后紧跟或者单独出现时:
       一个.表示当前目录;
       两个.表示上一级目录;
    在路径中的文件名中出现时:
       最后的一个.表示主文件名与扩展文件名的分隔。
    21.&&
    连接两个命令,当&&前的命令成功时,才执行&&后的命令;
    22.||
    连接两个命令,当||前的命令失败时,才执行||后的命令。
    23.$
    在findstr命令里面表示一行的结束。
    24.``

    这个符号在键盘的ESC下面。
    在for/f中表示它们所包含的内容当作命令行执行并分析它的输出。
    25.[]
    在帮助文档表示其中的开关、选项或参数是可选的;
    在findstr/r中表示按其中指定的字符集匹配。
    26.?
    在findstr/r中表示在此位置匹配一个任意字符;
    ?在路径中表示在此位置通配任意一个字符;
    紧跟在/后表示获取命令的帮助文档。
    27.!
    当启用变量延迟时,使用!!将变量名扩起来表示对变量值的引用;
    在set /a中表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值