我有三个命令要按顺序运行,其中一个是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循环的方法。
答案 0 :(得分:1)
只需正确使用括号即可明确您的意图:
pushd \\server\share & (FOR /R %%f in (".") DO copy /y "ALL\sample.pdf" %%f) & rmdir /q /s ALL