关键词
:: | 用于注释 |
setlocal | 批处理文件中实现环境变量本地化,遇到endlocal结束本地化,有四个参数 enableExtensions:开启命令扩展,开启后能用一些命令,比如equ运算符 disableExtensions:关闭命令扩展 enableDelayedExpansion:开启变量延迟扩展,变量扩展就是可以用%xx%来取变量值,延迟扩展就是可以找到复合语句中定义的变量 disableDelayedExpansionn:关闭变量延迟扩展 |
echo | 显示信息,echo /? 查看描述 echo hello 就打印 hello @echo可以关闭命令回显 @ECHO OFF 设置关闭命令回显 ECHO ON 设置打开命令回显 |
set | 设置环境变量,set /? 查看描述 |
%~n0 | 文件名 |
%~dp0 | 当前批处理文件的位置,即文件夹路径 |
call | 在一个批处理文件文件中调用另一个批处理文件文件 |
exit /B 0 | 退出脚本,设置ERRORLEVEL为0 |
cls | 清屏 |
%1 | 第一个参数,%n就是第n个参数 |
.. | 到上级目录 |
案例
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
:: variables
SET me=%~n0
SET DIR=%~dp0
call %DIR%/_start_.cmd test
:END
ENDLOCAL
ECHO ON
@EXIT /B 0
for循环
cmd中:for /参数 %变量 in (集) do 命令
bat中:or /参数 %%变量 in (集) do 命令
四个参数
/d 只对目录执行命令
打印D盘所有目录(不包含子目录):
for /d %%i in (d:\*.*) do echo %%i
/L 计数器
打印1-5(这里1、1、5分别标识开始值、增量、对比结束值):
for /L %%i in (1,1,5) do @echo %%i
/f 能读文件内容,并做操作
打印123.txt中的内容:
for /f %%i in (C:\Users\xiaohei\Desktop\123.txt) do @echo %%i
/r 搜索指定路径及其所有子目录中符合要求的文件
打印桌面上所有txt文件名
for /r "C:\Users\xiaohei\Desktop" %%i in (*.txt) do @echo %%i