1) 系统参数
%SystemRoot% === C:\WINDOWS (%windir% 同样)
%ProgramFiles% === C:\Program Files
%USERPROFILE% === C:\Documents and Settings\Administrator (子目录有“桌面”,“开始菜单”,“收藏夹”等)
%APPDATA% === C:\Documents and Settings\Administrator\Application Data
%TEMP% === C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp (%TEM% 同样
) %APPDATA% === C:\Documents and Settings\Administrator\Application Data
%OS% === Windows_NT (系统)
%Path% === %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem (原本的设置)
%HOMEDRIVE% === C: (系统盘)
%HOMEPATH% === \Documents and Settings\Administrator
2) 传递参数给批处理文件 %[1-9]表示参数,
参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。 变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用 %1 到 %9 顺序表示。
3、echo
echo off 此语句后所有运行的命令都不显示命令行本身
4、@
表示不显示@后面的命令
5、Rem
注释,等同于::
6、Pause
会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续
7、call [Drive:][Path] FileName
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。 调用另一个批处理程序,并且不终止父批处理程序。
如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令。
8、start
调用外部程序,所有的 DOS命令 和 命令行程序 都可以由 start命令 来调用。
9、if
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。有三种格式:
1) IF 语法:
if [not] "参数" == "字符串"
待执行的命令 参数如果等于(not表示不等,下同)指定的字符串,则条件成立,运行命令,否则运行下一句。
2) if exist 语法:
if [not] exist [路径\]文件名
待执行的命令 如果有指定的文件,则条件成立,运行命令,否则运行下一句。
3) if errorlevel number
语法: if [not] errorlevel <数字> 待执行的命令 如果程序返回值等于指定的数字,则条件成立,运行命令,否则运行下一句。(返回值必须按照从大到小的顺序排列)
Sample:
@echo off XCOPY F:\test.bat D:\
IF ERRORLEVEL 1 (ECHO 文件拷贝失败 )
Else IF ERRORLEVEL 0 ECHO 成功拷贝文件
pause
很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态),称为错误码errorlevel或称返回码。 常见的返回码为0、1。通过if errorlevel命令可以判断程序的返回值,根据不同的返回值来决定执行不同的命令。
4) else 语法:
if 条件 (成立时执行的命令) else (不成立时执行的命令) 如果是多个条件,建议适当使用括号把各条件包起来,以免出错。
Sample: if 1 == 0 ( echo comment1 ) else if 1==0 ( echo comment2 ) else (echo comment3 )
5) 比较运算符:
EQU - 等于 (一般使用“==”)
NEQ - 不等于 (没有 “!=”,改用“ if not 1==1 ”的写法)
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
10、for
for 变量1 in [set] do comm
https://blog.csdn.net/huwei2003/article/details/66968001