for
1、无参
语法:
FOR %%variable IN (set) DO command [command-parameters]
2、/d或者/D
语法:
FOR /D %%variable IN (set) DO command [command-parameters]
例子:
@echo off
for /d %%i in (C:\\*) do echo %%i
pause
d:directory
列举出set路径下的全部目录
2、/r或者/R
遍历子目录
语法:
FOR /R [[drive:]path] %%variable IN (set) DO command [command-parameters]
例子:
@echo off
for /r C:\\ %%i in (*.exe) do echo %%i
pause
列举出c盘下的EXE文件以及子目录下的EXE文件
3、/l或者/L
语法:
FOR /L %%variable IN (start,step,end) DO command [command-parameters]
例子:
@echo off
for /l %%i in (1,1,5) do @echo %%i
pause
参数
%0:
1、当前文件执行路径
2、无限循环执行bat
%1-%9:
对应位置参数
%*:
所有参数
set
1、设置环境变量
@echo off
set var=test
echo %var%
Pause
2、用户输入
@echo off
set /p var=请输入
echo %var%
Pause
3、计算
@echo off
set /A var=9/3
echo %var%
pause
4、字符串替换
@echo off
set str=testtest1
set afterReplace=%str:te=ad%
echo %afterReplace%
pause
上述案例将te替换为ad,语法为:
%变量名:被替换字符串=替换字符串%
该用法在任何引用变量的地方均可使用,上例修改如下:
@echo off
set str=testtest1
echo %str:te=ad%
pause
5、字符串截取
语法:
%a:~[m[,n]]%
m为偏移量(缺省为0),n为截取长度(缺省为全部)
案例:
@echo off
set str=testtest1
echo %str:~1%
pause