批量将文件移动到不包括父目录的子目录中

批量将文件移动到不包括父目录的子目录中

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

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

这在大多数情况下都有效,但它也会将副本保留到父文件夹中。我希望修复此问题,以便批处理仅复制到所有子目录中。

答案1

我无法让您的代码在 Microsoft Windows [版本 10.0.17134.648] 上运行。以下代码可以运行。

测试:

for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do echo copy /y "file.otf" to "%%x\"

复制:

for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do copy /y "file.otf" "%%x\"

从子目录中删除 file.otf:

for /f "tokens=*" %%x in ('dir /b /s /ad "path-to-parent-folder-with-double-quotes-if-there-is-a-space-in-the-path\"') do del /q "%%x\file.otf"

tokens=* 处理路径/文件名中的空格

"tokens=*"

dir /b /s /ad 将文件复制到目录而不是文件。如果没有 /ad file.otr,将覆盖目录中的所有文件。如果您担心,请使用 copy 而不是 copy /y。

dir /b /s /ad

copy /y 会覆盖 file.otr,无需请求许可。您必须尝试几次才能满意它是否正常工作。

copy /y

为什么不直接删除父目录中的 file.otr,而是“修复”你的代码?

del /q file.otr

相关内容