码迷,mamicode.com
首页 > 其他好文 > 详细

BAT---FOR语句

时间:2016-07-19 18:48:52      阅读:696      评论:0      收藏:0      [点我收藏+]

标签:

FOR语句用于循环处理,使用FOR中的不同开关,实现不同功能,主要有3个开关,具体如下:

注:变量名区分大小写,如%%i和%%I不相同

一、不使用开关

@ECHO OFF
FOR %%i IN (a,b,"1,2",d) DO (
    ECHO %%i
)
PAUSE

二、使用/R开关

常用于遍历文件夹,查找指定的文件或者目录

@ECHO OFF
FOR /R "F:\temp" %%i IN (.) DO (
      ECHO %%~fi 
)

上面代码表示:遍历F:\temp目录下的所有文件夹,并输出文件夹全路径。

注:.表示枚举F:\temp目录下的所有文件夹

@ECHO OFF
FOR
/R %%i IN (.) DO ( ECHO %%~fi ECHO %%~ni )

/R后面如果没有设置要遍历的根目录,那么将使用脚本所在的目录作为根目录进行遍历。

 

三、使用/F开关

@ECHO OFF
FOR
/F "EOL=; TOKENS=1,2 DELIMS=," %%i IN (11.txt) DO ( ECHO "第一个字符是:%%i,第二个字符是:%%j" )

EOL=;表示忽略分号开头的行

DELIMS=,表示用逗号分隔每行内容

TOKENS=1,2表示将分隔后的第1个字符和第2个字符传递给FOR函数处理

如果TOKENS=1,2*表示将分隔后的第1个字符、第2个字符及剩余的字符传递给FOR函数处理

%%i表示分隔后的第1个字符,%%j表示分隔后的第1个字符,%%k表示分隔后的剩余的字符

 

四、FOR变量修饰符

@ECHO OFF
FOR /R F:\temp\11.txt %%i IN (.) DO (
      ECHO %%~fi 
      ECHO %%~ni
      ECHO %%~di
      ECHO %%~pi
      ECHO %%~xi
      ECHO %%~si
      ECHO %%~ai
      ECHO %%~ti
      ECHO %%~zi
      
)

 

%%~i:删除变量%%i的引号

%%~fi:将变量%%i扩展到全路径,如F:\temp\11.txt

%%~ni:将变量%%i扩展到文件名,如11

%%~di:将变量%%i扩展到驱动器号,如F:

%%~pi:将变量%%i扩展到路径,如\temp\

%%~xi:将变量%%i扩展到文件扩展名,如.txt

%%~si:将变量%%i的扩展路径只包含短名

%%~ai:将变量%%i扩展到文件属性,如--a------

%%~ti:将变量%%i扩展到文件日期,如2016/07/19 16:57

%%~zi:将变量%%i扩展到文件大小,如34

 

组合变更修饰符:

 %%~dpi:将变量%%i扩展到驱动器号和路径,如F:\temp\

 %%~nxi:将变量%%i扩展到文件名和扩展名,如11.txt

 

BAT---FOR语句

标签:

原文地址:http://www.cnblogs.com/xb2016/p/5685690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!