set
1.当前环境变量
set 查看当前环境所有变量
set v 查看当前环境以v开头的变量
2.延迟变量 setlocal enabledelayedexpansion
setlocal enabledelayedexpansion
set a=4
set a=5&echo !a! 结果:输出5
对比不用enabledelayedexpansion
set a=4
set a=5&echo %a% 输出4
3.定义变量
SET param=ddd ::定义变量param
SET send=%param%
echo %send% ->ddd
ERRORLEVEL 用来保存它的上一个DOS命令的返回值(成功0)
参数
XXX.bat 1 2 ==> %1表示第一个参数1,%2表示第二个参数2
for语句
for %%I in (A,B,C) do echo %%I ==> A B C
for /f "delims= " /f会默认以每一行(分隔符为" ")来作为一个元素
:: 注释符号
去除空格
C:\Users\Administrator>set str=ab c
C:\Users\Administrator>set "str=%str: =%"
C:\Users\Administrator>echo %str% ->abc
subst,用于路径替换 ,将路径与驱动器号关联,把一个目录当作一个磁盘驱动器
subst X: D:\aa
start
test.exe ::等待test.exe程序执行完后才会运行下面的语句
start test.exe ::不等待test.exe程序执行
call 命令用来从一个批处理脚本中调用另一个批处理脚本
%cd% :当前目录
explorer z: 打开z盘
%USERPROFILE% =C:\Users\用户名
转义字符 ^ \
% %%
^ ^^
& ^&
< ^<
> ^>
| ^|
^'
` ^`
, ^,
; ^;
= ^=
( ^(
) ^)
! ^^!
" ""
\ \\
[ \[
] \]
\"""
. \.
* \*
? \?
echo
@echo off执行以后,后面所有的命令均不显示,包括本条命令。
echo off执行以后,后面所有的命令均不显示,但本条命令是显示的
::bat1.bat
@echo off
echo 111
echo end
pause
C:\Users\Administrator\Desktop>bat1.bat
111
end
请按任意键继续. . .
::bat2.bat
echo off
echo 111
echo end
pause
C:\Users\Administrator\Desktop>bat2.bat
C:\Users\Administrator\Desktop>echo off
111
end
请按任意键继续. . .
来源:CSDN
作者:春夏与冬
链接:https://blog.csdn.net/yangjinjingbj/article/details/104198147