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

时间:2009-08-24 09:31:04

标签: batch-file copy

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

我需要像

这样的东西
copy a.jpg */a.jpg

你有一个类似的批处理文件吗?

(ps。我使用的是Windows)

3 个答案:

答案 0 :(得分:5)

使用for命令

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

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

答案 1 :(得分:5)

您可以使用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返回当前文件夹名称。

答案 2 :(得分:2)

您可以使用以下命令

复制目录的所有文件夹中的文件

for / F%g in('dir / AD / B / S')DO copy c:\ myfile%g

说明:

在上述命令中: - %g是一个变量, dir / AD / B / S: - 是一个查看目录的所有文件夹和子文件夹的命令, / F: - 是一个我们用于命令的开关,如果我们想要迭代括在括号中的命令的结果(在我们的例子中它是('dir / AD / B / S'), c:\ myfile: - 是我们要在所有子文件夹中复制的文件