【问题标题】:BAT failed copy command - continue after &&?BAT 复制命令失败 - 在 && 之后继续?
【发布时间】:2012-06-05 03:54:15
【问题描述】:

所以我尝试在线搜索解决方案,但找不到任何解决方案。 基本上,我有这样的命令:

for /D %%X in (s*) do copy f1.txt %%X\f1.txt && copy f2.txt %%X\f2.txt

但是,如果 f1.txt 不存在,我会得到一个 The system cannot find the file specified 并且 f2.txt 不会为给定目录复制。

即使 f1.txt 不存在,我如何才能解决此问题以复制 f2.txt? 请注意,我不能简单地分成两行,因为这些复制语句位于一个巨大的 for 循环中,其中包含许多命令。

【问题讨论】:

    标签: windows for-loop batch-file copy


    【解决方案1】:

    感谢您的回复江铃。它让我找到了这个web page

    在那里,我发现我实际上应该将 && 更改为 &:

    command1 & command2:用于在一个命令行上分隔多个命令。 Cmd.exe 运行第一个命令,然后运行第二个命令。

    应该是这样的:

    for /D %%X in (s*) do copy f1.txt %%X\f1.txt & copy f2.txt %%X\f2.txt
    

    【讨论】:

    • 正确。 && 后面的命令只有在前一个没有失败的情况下才会执行。顺便说一句,使用|| 只是另一种方式:仅调用下一个命令,但前一个命令确实失败了。如果您希望两者独立于彼此的结果运行,则需要 &
    【解决方案2】:

    && 更改为||

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多