cmd常用命令代码

常用符号解析:
“@”:用于隐藏命令本身,如使用 @echo off 可以不让“echo off”显示在屏幕上。
“”:通配符,代表任意字符。
“?””:代表任意一个字符。
“.”:表示当前目录,用于copy和del命令时指当前目录下的所有文件。例如,“del .”即删除当前目录中的所有文件。
“..”:表示上一级目录。
“:”:标签定位符号,如“:start”,用于定义标签start,使用goto命令可以跳转到标签位置。
“:eof”:系统预定义符号,表示文件结尾,使用goto :eof可以跳转到程序结尾。
“|”:管道符号,将左边的输出作为右边的输入。
“||”:符号左边的命令失败时才运行右边的命令。
“&”:用于连接同一行中的两个命令行。
"&&”:符号左边的命令成功后才运行右边的命令。
“%”:在for循环中作为循环变量使用,如for /l %i in () do,将取得的值存入“%i”中,后面的变量依次为%j, %k等。在批处理时,需要将%i写成%%i。
“^”:转义字符,如^^表示一个^, ^表示一个。
“::”:在当前行做备注。
“rem”:用于添加备注。
重要说明:
DOS是按行执行命令的,如果两个完整的命令语句需要在同一行执行,需要使用“&”符号连接;放在括号中时则不需要加“&”。
在set命令中,要注意空格问题,必要时需加双引号。
当取得的数据为null(非空格)时,可以使用 if "%var%"=="" 来判断。
变量引用时,要使用%%或!!引起来,如%var%。
如果变量或文件名中有空格,在使用时最好加上双引号。
setlocal命令用于本地化操作环境变量,只在本批处理中改变环境设置,使用endlocal还原原有设置。
enableDelayedExpansion命令启用延时变量功能,此时变量引用应从%var%改为!var!。
Chcp命令用于切换字符编码,例如切换成GB2312中文编码使用chcp 936,切换成utf-8编码使用chcp 65001。
if...do...else...命令是一个完整的命令语句,通常放在同一行上,如果要分行写需加括号。
比较大小符号:
== - 等于
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
判断命令执行是否成功:通过%errorlevel%进行判断。
增强扩展说明:
%~n0:代表批处理文件本身的文件名。
%~ni:在for循环中取得的是文件名(无扩展名),存于%%i中。使用%%~ni取得无扩展名的文件名。
%~xi:只取得扩展名。
%~dp0:表示批处理文件所在的目录。
for循环中的增强扩展提供了多种扩展方式,可以方便地处理路径、文件名等。
组合修饰符可以得到多重结果,例如%~dpI只将%I扩展到一个驱动器号和路径。
有关双引号的自动去除说明:在参数输入时带了引号,使用%~1可以自动去除引号。对于for循环变量,使用%%~i可以自动去除左右空格。
程序输出结果样例:
在批处理文件中使用setlocal enableDelayedExpansion启用延时变量扩展功能,然后定义一个字符串变量str并赋值为"I love you . 66"。通过调用一个子程序stripByCall来处理这个字符串变量并输出处理结果。这个子程序接收原始字符串作为参数(包括原始带引号的字符串和无引号的字符串),并能处理并输出经过处理的字符串以及去除了左右空格的结果。程序最后通过endlocal还原原有的环境设置并暂停执行等待用户操作。 调用过程中的内部处理逻辑包括检查扩展名的有效性等步骤。对于字符串的截取和替换操作也有详细的说明和示例。
