【问题标题】:Is there a way to loop in a batch file without gotos?有没有办法在没有 goto 的情况下循环批处理文件?
【发布时间】:2013-09-03 14:32:55
【问题描述】:

我对批处理脚本相当陌生,我需要编写一个非常简单的 .bat 文件,该文件将遍历一个目录。我知道如何使用 goto 命令很容易地做到这一点:

@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 通常非常不喜欢使用,所以我想知道是否有人知道另一种方法来做到这一点?谢谢!

【问题讨论】:

  • 批处理是“不要使用 goto”规则的一种例外,因为在大多数情况下,避免使用 Goto 实际上会使您的代码更复杂且更难阅读。只需确保您的标签一致、清晰等。

标签: batch-file goto


【解决方案1】:

将 echo.... 替换为您想要的命令。 在命令提示符下:

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

在 bat 文件中

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-04
      • 2019-01-18
      • 2020-12-20
      • 2020-04-07
      • 2018-07-29
      相关资源
      最近更新 更多