2

我想复制一个文件并将该文件粘贴到多个文件夹中。

指定路径 : c:\exam\*\mark,*是主题。我有很多不同主题的文件夹。我正在使用一个批处理文件,例如,

for /d %%a in ("c:\exam\*\mark") do copy "C:\name\add.txt" "%%a"

但这对我不起作用,请提出更正此代码的建议。

4

2 回答 2

7

一个循环就足够了:

for /d %%a in (c:\exam\*) do if exist "%%~a\mark\" copy "C:\name\add.txt" "%%~a\mark"
于 2013-10-14T10:05:31.027 回答
3

for /d不能处理路径中的通配符,它​​只允许在最后一个元素中。

但是您可以简单地尝试复制到目标,如果目标路径不存在它会失败并且错误将重定向到 nul。
或者你可以先测试目的地是否存在,就像 Endoro 展示的那样。

for /d %%a in ("c:\exam\*") do (
    copy "C:\name\add.txt" "%%a\mark\" 2> nul
)
于 2013-10-14T09:44:47.933 回答