2013-08-30 52 views
0

我对批处理脚本相当陌生,而且我需要编写一个非常简单的.bat文件来循环目录。我知道如何做到这一点很容易地使用GoTo命令:有没有办法在没有gotos的批处理文件中循环?

@echo off 
:BEGIN 
::set variable to data in first file 
::do operations on file... 
IF ::another file exists in the directory 
    ::increment to next file 
    GOTO BEGIN 
ELSE 
    GOTO END 
:END 
cls 

的问题是,是我能想到的做到这一点的唯一途径。我知道goto's通常很不习惯使用,所以我想知道是否有人知道另一种方式来做到这一点?谢谢!

+3

批处理是“不使用goto”规则的例外,因为在大多数情况下,避免使用Goto会使您的代码更加复杂和难以阅读。只要确保您的标签一致,清晰等。 – ChicagoRedSox

+2

您可以使用'FOR'循环。 http://stackoverflow.com/questions/1355791/batch-file-loop – JNYRanger

回答

2

用你想要的命令替换echo .... 从命令提示符:

for /R %A in (*.*) do echo.%A

在一个bat文件

for /R %%A in (*.*) do echo.%%A 
0

它可以只对当前文件夹来完成了。 %% a元变量区分大小写,我选择使用小写。处理所有文件后,该脚本将退出并退出。

@echo off 
for %%a in (*.txt) do (
type "%%a" 
pause 
) 
相关问题