for循环后运行命令

时间:2018-03-01 10:55:05

标签: windows batch-file cmd

我有三个命令要按顺序运行,其中一个是FOR,需要放在中间。

我可以将该功能实现为批处理文件,如下所示:

pushd \\server\share
FOR /R %%f in (".") DO copy /y "ALL\sample.pdf" %%f
rmdir /q /s ALL

但是,我需要在一行中写这个。我试着做以下事情:

pushd \\server\share && FOR /R %%f in (".") DO (copy /y "ALL\sample.pdf" %%f) && rmdir /q /s ALL

然而,这导致&& rmdir /q /s ALL也由FOR循环执行。我需要的是一种在将FOR循环放在单个命令行时分隔FOR循环的方法。

1 个答案:

答案 0 :(得分:1)

只需正确使用括号即可明确您的意图:

pushd \\server\share & (FOR /R %%f in (".") DO copy /y "ALL\sample.pdf" %%f) & rmdir /q /s ALL