批处理 for 的用法
2014-10-03 23:18
253 查看
在 d:\b.txt中有内容如下
第1行第1列;第1行第2列;第1行第3列
1,一般的for FOR param %variable IN (set) DO command [command-parameters]
parm有 /d 这个参数主要用于目录搜索,不会搜索文件,不会搜索再下一级的目录。
如: for /d %%i in (???) do echo %% --显示当前目录下名字只有1-3个字母的目录
/R (搜索指定路径及所有子目录中与set相符合的所有文件)
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
1、set中的文件名如果含有通配符(?或*),则列举/R参数指定的目录及其下面的所用子目录中与set相符合的所有文件,无相符文件的目录则不列举。
2、如果set中为具体文件名,不含通配符,则枚举该目录树(即列举该目录及其下面的所有子目录)(并在后面加上具体的文件名),而不管set中的指定文件是否存在。
for /r c:/ %%i in (boot.ini) do if exist %%i echo %%i --列举boot.ini存在的目录
/L 是list,和java的for很像
FOR /L %variable IN (start,step,end) DO command [command-parameters]
for /l %%i in (1,1,5) do @echo %%i --输出1 2 3 4 5
for /l %%i in (100,-20,1) do @echo %%i --输出100,80,60,40,20
for /l %%i in (1,1,5) do start cmd --打开5个CMD窗口
for /l %%i in (1,1,5) do md %%i --建立从1~5共5个文件夹
for /l %%i in (1,1,5) do rd /q %%i --删除从1~5共5个文件夹
2,读取文件内容的for 用到 /f 参数 tokens 从第几个元素开始 delims 按照什么切分元素 skip 跳过几个元素 eol 以什么开头的时候忽略
for /f "tokens=2,* delims=;" %%i in (d:\b.txt) do echo %%i %%j >>c:\result.txt
意思就是读取d:\b.txt下文件中的内容, 按照;分割为若干个元素,取第二个开始和后面所有的元素,写到c:\result.txt中.其中%%i是第二个元素,%%j代表第二个后面的所有元素,就是*
skip就是要忽略文件的前多少行,而eol用来指定当一行以什么符号开始时,就忽略它。
第1行第1列;第1行第2列;第1行第3列
第2行第1列;第2行第2列;第2行第3列
第3行第1列;第3行第2列;第3行第3列
1,一般的for FOR param %variable IN (set) DO command [command-parameters]parm有 /d 这个参数主要用于目录搜索,不会搜索文件,不会搜索再下一级的目录。
如: for /d %%i in (???) do echo %% --显示当前目录下名字只有1-3个字母的目录
/R (搜索指定路径及所有子目录中与set相符合的所有文件)
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
1、set中的文件名如果含有通配符(?或*),则列举/R参数指定的目录及其下面的所用子目录中与set相符合的所有文件,无相符文件的目录则不列举。
2、如果set中为具体文件名,不含通配符,则枚举该目录树(即列举该目录及其下面的所有子目录)(并在后面加上具体的文件名),而不管set中的指定文件是否存在。
for /r c:/ %%i in (boot.ini) do if exist %%i echo %%i --列举boot.ini存在的目录
/L 是list,和java的for很像
FOR /L %variable IN (start,step,end) DO command [command-parameters]
for /l %%i in (1,1,5) do @echo %%i --输出1 2 3 4 5
for /l %%i in (100,-20,1) do @echo %%i --输出100,80,60,40,20
for /l %%i in (1,1,5) do start cmd --打开5个CMD窗口
for /l %%i in (1,1,5) do md %%i --建立从1~5共5个文件夹
for /l %%i in (1,1,5) do rd /q %%i --删除从1~5共5个文件夹
2,读取文件内容的for 用到 /f 参数 tokens 从第几个元素开始 delims 按照什么切分元素 skip 跳过几个元素 eol 以什么开头的时候忽略
for /f "tokens=2,* delims=;" %%i in (d:\b.txt) do echo %%i %%j >>c:\result.txt
意思就是读取d:\b.txt下文件中的内容, 按照;分割为若干个元素,取第二个开始和后面所有的元素,写到c:\result.txt中.其中%%i是第二个元素,%%j代表第二个后面的所有元素,就是*
skip就是要忽略文件的前多少行,而eol用来指定当一行以什么符号开始时,就忽略它。
相关文章推荐
- 批处理中for的参数的用法
- dos下 和 批处理中的 for 语句的基本用法
- dos下 和 批处理中的 for 语句的基本用法
- dos下 和 批处理中的 for 语句的基本用法
- 批处理(bat文件)for用法详解
- 【转】dos下 和 批处理中的 for 语句的基本用法
- dos下 和 批处理中的 for 语句的用法详解
- 批处理for命令/f参数的用法
- dos下 和 批处理中的 for 语句的基本用法
- WaitForSingleObject的用法
- for update 和for update of xxx的区别和用法
- 你不一定知道的Label的For用法
- FCKeditor2.4(FCKeditot for java2.3)的用法及配置参数说明(已解决中文乱码)
- CMD脚本for语句的用法举例2
- WaitForSingleObject的用法
- oracle批量绑定 forall bulk collect用法以及测试案例
- 再收藏一篇: oracle批量绑定 forall bulk collect用法以及测试案例
- javascript下for循环用法小结
- mssql里sp_MSforeachtable和sp_MSforeachdb的用法
- mssql里sp_msforeachtable 和 sp_msforeachdb的用法