• 批处理命令提高二for命令详解


    一、基本格式
    FOR %%variable IN (set) DO command [command-parameters]

    二、参数 /d 主要搜索匹配目录
    @echo off
    for /d %%i in (c:\*) do echo %%i
    pause

    三、参数 /R 搜索指定目录树中的匹配文件
    枚举C盘下所有的 .exe 程序, 如果不带c:\ 则表示为当前目录
    @echo off
    for /r c:\ %%i in (*.exe) do echo %%i
    pause
    四、参数 /L 按数字序列(start,step,end)循环
    有过编程经验, 知道lispace, 或者 seq 的 知道这个列表推导式是什么了
    @echo off
    for /l %%i in (1,1,5) do @echo %%i
    pause


    五、参数 /F 处理命令输出、字符串及文件内容
    \迭代及文件解析
    使用文件解析来处理命令输出、字符串及文件内容。使用迭代变量定义要检查的内容或字符串,并使用各种options选项进一步修改解析方式。使用options令牌选项指定哪些令牌应该作为迭代变量传递。请注意:在没有使用令牌选项时,/F 将只检查第一个令牌。
    文件解析过程包括读取输出、字符串或文件内容,将其分成独立的文本行以及再将每行解析成零个或更多个令牌。然后通过设置为令牌的迭代变量值,调用 for 循环。默认情况下,/F 传递每个文件每一行的第一个空白分隔符号。跳过空行。

    for命令中变量:
    (1)~I - 删除任何引号(“),扩展 %I
    @echo off
    for /f "delims=" %%i in (temp.txt) do echo %%~i
    pause >nul
    (2)%~fI - 将 %I 扩展到一个完全合格的路径名
    for /f "delims==" %%i in ('dir /b') do @echo %%~fi
    遍历输出当前文件夹
    (3)%~dI - 仅将 %I 扩展到一个驱动器号
    (4) %~pI - 仅将 %I 扩展到一个路径
    (5) %~nI - 仅将 %I 扩展到一个文件名
    (6) %~xI - 仅将 %I 扩展到一个文件扩展名
    (7) %~sI - 扩展的路径只含有短名
    (8)%~aI - 将 %I 扩展到文件的文件属性
    (9)%~tI - 将 %I 扩展到文件的日期/时间
    (10) %~zI - 将 %I 扩展到文件的大小
    (11) %~$PATH:I

  • 相关阅读:
    Netty 超时机制及心跳程序实现
    ZJUTACM
    寻找素数对
    HDU 1021 Fibonacci Again
    HDU 1019 Least Common Multiple
    HDU 1017 A Mathematical Curiosity
    HDU 1014 Uniform Generator
    HDU 1013 Digital Roots
    HDU 1008 Elevator
    Educational Codeforces Round 2 B. Queries about less or equal elements
  • 原文地址:https://www.cnblogs.com/codehello/p/16352338.html
Copyright © 2020-2023  润新知