美文网首页Windows批处理指南
Windows 批处理脚本指南: 循环语句

Windows 批处理脚本指南: 循环语句

作者: ettingshausen | 来源:发表于2019-06-12 00:42 被阅读0次

    在集合中遍历条目是脚本的常见任务。它可以遍历目录中的文件,或者一次读取一行文本。

    传统的GOTO语句


    早期版本的DOS的老方法是使用标签和GOTO语句。虽然它对于通过命令行参数循环很有用,但现在已经不再使用了。

    :args
    SET arg=%~1
    ECHO %arg%
    SHIFT
    GOTO :args
    

    FOR


    遍历文件或者文本更现代的方法是使用for命令。在我看来,for是DOS最强大的命令,也是最不常使用的命令之一。

    FOR命令使用一个特殊的变量语法%,后跟一个字母,如%I。当批处理文件中使用此语法时,略有不同,需要两个百分号%%I。在编写脚本时,这是一个常见的错误来源。如果for循环因为语法错误退出,确认是否使用了%%I

    遍历文件


    FOR %I IN (%USERPROFILE%\*) DO @ECHO %I
    

    遍历文件夹


    FOR /D %I IN (%USERPROFILE%\*) DO @ECHO %I
    

    递归遍历%TEMP%下所有的文件

    FOR /R "%TEMP%" %I IN (*) DO @ECHO %I
    

    递归遍历%TEMP%下所有的文件夹

    FOR /R "%TEMP%" /D %I IN (*) DO @ECHO %I
    

    一个例子


    :: Name:     del-overlays.cmd
    :: Purpose:  delete overlay folder in each module
    :: Author:   ettingshausen
    :: Revision: 2017/12/19 - initial version
    ::
    
    @ECHO OFF
    SET parent=%~dp0
    FOR /D %%I IN (%parent%*) DO RD /S /Q %%I\overlays
    EXIT /B 0
    

    相关文章

      网友评论

        本文标题:Windows 批处理脚本指南: 循环语句

        本文链接:https://www.haomeiwen.com/subject/btmhfctx.html