bat学习笔记(二)

来源:互联网 发布:淘宝商铺怎么开通花呗 编辑:程序博客网 时间:2024/04/19 10:29

for

1、无参

语法:

FOR %%variable IN (set) DO command [command-parameters]

2、/d或者/D

语法:

FOR /D %%variable IN (set) DO command [command-parameters]

例子:

@echo offfor /d %%i in (C:\\*) do echo %%ipause

d:directory

列举出set路径下的全部目录

2、/r或者/R

遍历子目录

语法:

FOR /R [[drive:]path] %%variable IN (set) DO command [command-parameters]

例子:

@echo offfor /r C:\\ %%i in (*.exe) do echo %%ipause

列举出c盘下的EXE文件以及子目录下的EXE文件

3、/l或者/L

语法:

FOR /L %%variable IN (start,step,end) DO command [command-parameters]

例子:

@echo offfor /l %%i in (1,1,5) do @echo %%ipause

参数

%0:
1、当前文件执行路径
2、无限循环执行bat

%1-%9:
对应位置参数

%*:
所有参数


set

1、设置环境变量

@echo offset var=testecho %var%Pause

2、用户输入

@echo offset /p var=请输入echo %var%Pause

3、计算

@echo offset /A var=9/3echo %var%pause

4、字符串替换

@echo offset str=testtest1set afterReplace=%str:te=ad%echo %afterReplace%pause

上述案例将te替换为ad,语法为:

%变量名:被替换字符串=替换字符串%

该用法在任何引用变量的地方均可使用,上例修改如下:

@echo offset str=testtest1echo %str:te=ad%pause

5、字符串截取

语法:

%a:~[m[,n]]%

m为偏移量(缺省为0),n为截取长度(缺省为全部)

案例:

@echo offset str=testtest1echo %str:~1%pause