我有一个.otf
文件,我想将其复制到父文件夹的所有子目录中。这就是我尝试过的。
for /R %%x in (.) do copy "file.otf" "%%x"
这在大多数情况下都有效,但是也会将副本保留在父文件夹中。我想解决此问题,使批处理仅复制到所有子目录中。
答案 0 :(得分:2)
由于for /R %%x in (.)
将在第一次迭代中返回父目录,因此您可以在第一次循环迭代中使用类似标志的变量通过if
condition跳过copy
命令,就像这样:
set "FLAG="
for /R %%x in (.) do (
if defined FLAG (
copy "file.otf" "%%~x"
) else (
set "FLAG=#"
)
)
根据Squashman的comment,更简单的选择是使用for /D /R
仅枚举子目录:
for /D /R %%x in (*) do (
copy "file.otf" "%%~x"
)