cmd-for循环

cmd-for 参数:/D /R /L /F
/D: for /d %i in (c:\*) do echo %i -- /d 只显示目录
/R: for /r c:\ %i in (*.exe) do echo %i -- /r 搜索指定路径及子路径下的所有文件
/L: for /l %i in (100,-20,1) do @echo %i --增量形式循环,输出100,80,60,40,20
/F: 1. for /f "tokens=1,2 delims=-, " %a in ("aa bb,cc-dd ee") do echo %a %b %c %f -- aa bb %c %f
        ps: tokens=1,2,3* > 将每行中的第一个, 第二个字符 赋值给第一个变量, 第二个变量
            delims=-, > 指定分给符
            %a > 指定变量开始位置(最多到%z), 一一对应tokens指定值,比如1,2,3* > 1-%a 2-b% 3-%c %d对应之后所有变量 ...
                                         -- 1,2,3-30 前三十个字符一一对应
    2. FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k    
        ps: myfile.txt 文件中, 忽略;开头的行,    
        
    3. for /f "skip=10 tokens=1,2,3-10 delims=: " %a in ('netsh wlan show profiles') do (netsh wlan show profiles name="%b" key=clear | find "关键内容")|| echo "pwd not exists" 
       ps: 查询wifi和密码
            skip:跳过前面几行       
   4. 如果使用了usebackq参数后,命令如下,结果与上面的完全相同。
     1,分析文件的例子
        FOR /F "usebackq eol=; tokens=1,2* delims=,- " %%i in ("d:\test.txt") do echo %%i %%j %%k
     2,分析字符串的例子:
        for /f "usebackq tokens=1,2,3* delims=-, " %%i in ('aa bb,cc-dd ee') do echo %%i %%j %%k %%l
     3,分析命令输出的例子:(会枚举当前环境中的环境变量名称和值。)
        FOR /F "usebackq tokens=1* delims==" %%i IN (`set`) DO @echo [%%i----%%j]    
   ps:查询wifi和密码:
       type nul>d:\myFile.txt & for /f "skip=10 tokens=1,2,3-10 delims=: " %a in ('netsh wlan show profiles') do echo "WIFI NAME: %b PWD:">>d:\myFile.txt & ((netsh wlan show profiles name="%b" key=clear | find "关键内容")|| echo "    关键内容            : Not Exists" )>>d:\myFile.txt 
   ps: 1. cmd命令可以运行,bat不能运行?> 把%替换为%%
       2. bat中文乱码?> 把bat文件转化为ANSI编码   

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值