代码之家  ›  专栏  ›  技术社区  ›  ufukgun

是否复制到所有文件夹批处理文件?

  •  2
  • ufukgun  · 技术社区  · 16 年前

    我想将一个文件(例如:a.jpg)复制到目录中的所有文件夹。

    我需要类似的东西

    copy a.jpg */a.jpg
    

    你有这样的批处理文件吗?

    (PS.I使用Windows)

    3 回复  |  直到 13 年前
        1
  •  5
  •   Preet Sangha    16 年前

    使用for命令

    for /f "tokens=*" %f in ('dir . /ad/b') do copy "a.jpg" "%f" 
    

    在批处理文件中放置时,请记住使用%%f而不是%

        2
  •  5
  •   Helen    16 年前

    您可以使用 for 命令 /r 开关,用于枚举目录树。例如,这会将c:\a.jpg文件复制到c:\test文件夹及其所有子文件夹中:

    for /r "C:\Test" %%f in (.) do (
      copy "C:\a.jpg" "%%~ff" > nul
    )
    

    这个 for /r "C:\Test" %%f in (.) 语句枚举c:\test文件夹及其所有子文件夹和 %%~ff 返回当前文件夹名称。

        3
  •  2
  •   user1129251    13 年前

    可以使用以下命令复制目录中所有文件夹中的文件

    对于/f%g in(“dir/ad/b/s”),请复制c:\myfile%g

    说明:

    在上述命令中: %g是一个变量, dir/ad/b/s:-是查看目录的所有文件夹和子文件夹的命令, /f:-是一个开关,我们使用它来执行命令,如果我们想迭代括号中包含的命令的结果(在我们的例子中是(“dir/ad/b/s”), C:\MyFile:-是要在所有子文件夹中复制的文件