批量将文件移动到子目录(父目录除外)中

时间:2019-03-25 12:30:17

标签: batch-file copy

我有一个.otf文件,我想将其复制到父文件夹的所有子目录中。这就是我尝试过的。

for /R %%x in (.) do copy "file.otf" "%%x"

这在大多数情况下都有效,但是也会将副本保留在父文件夹中。我想解决此问题,使批处理仅复制到所有子目录中。

1 个答案:

答案 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=#"
    )
)

根据Squashmancomment,更简单的选择是使用for /D /R仅枚举子目录:

for /D /R %%x in (*) do (
    copy "file.otf" "%%~x"
)