%批处理变量引导符
引用变量用%var%,调用程序外部参数用%1至%9等等
%0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %为命令行传递给批处理的参数
%0 批处理文件本身,包括完整的路径和扩展名
%1 第一个参数
%9 第九个参数
% 从第一个参数开始的所有参数
%~dp0 脚本所在目录
cd /d
切换目录,加上/d选项,可以跨磁盘驱动器切换目录
cd /d %~dp0
管道命令
格式:第一条命令 | 第二条命令 [| 第三条命令…]
将第一条命令的结果作为第二条命令的参数来使用
::显示包含abc的文件
dir|findstr abc
重定向
重定向符号主要有:>,>>,<,>&,<&和|。
0 stdin
1 stdout
2 stderr
1>nul 2>nul”的意思是既屏蔽正常的输出又屏蔽错误的输出
循环
在cmd窗口中:for %I in (command1) do command2
在批处理文件中:for %%I in (command1) do command2
显示当前文件夹中所有
for /r %~dp0 %%i in ( *.* ) do ( echo %%i )
利用ping进行延时
ping 192.0.2.2 -n 1 -w 10000 > nul
该-w 10000部分指定所需的超时(以毫秒为单位)。
该-n 1部分告诉ping它应该只尝试一次(通常会尝试4次)。
该> nul部分已附加,因此ping命令不会在屏幕上输出任何内容。
setlocal 与 变量延迟
变量延迟的启动语句是“setlocal enabledelayedexpansion”,并且变量要用一对叹号“!!”括起来
setlocal enabledelayedexpansion
cmd1
if !errorlevel! == 1 (
cmd2
echo !errorlevel!
)