Windows批处理指南

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

2019-06-12  本文已影响0人  ettingshausen

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

传统的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
上一篇下一篇

猜你喜欢

热点阅读