2013-10-04 49 views
0

感谢您花时间帮助我解决我的批处理问题......所以这里是: 我有一个特定版本的特定程序的文件。我们称之为Prog。 因此,例如,PROG的良好版本位于C:\Users的文件夹中。 的架构文件夹是:C:\users\%department%\%user%。我想有一个批处理文件,将在C:\Users中复制PROG.exe,在每个文件夹中。大约有5个部门包含许多用户。任何想法?将文件复制到多个文件夹

谢谢!

+0

究竟在哪里要复制原始'prog.exe'?并且你想要将它复制到哪个文件夹? – lurker

+0

嗨,感谢您的帮助...它的工作方式是,prog.exe位于C:\ users \ new。我想将它复制到C:\ users \中的每个文件夹和子文件夹中。大约有5个部门。所以它就像'C:\ users \ department1 \%users%''C:\ Users \ department2 \%users%' – InfiniteLoop

+0

所以你希望它复制到'C:\ users \ department1'以及'C:\ users \ department1 \%users%'等等?你宁愿有一个快捷方式来'exe',而不是复制'exe'的副本吗? – lurker

回答

0
for /d %i in (*) do for /d %j in (%i\*) do copy prog.exe %j 

把这个放在C:\ users中。它会将其复制到C:\用户的每个子目录的每个子目录中:

+0

嗨,你能解释一下吗(我对此很新,我想明白,不只是让它工作)提前致谢! :) – InfiniteLoop

+0

for/d表示用通配符匹配目录,而不是文件。第一个匹配当前目录中的所有目录。如果只想匹配以Department开头的文件,请将第一组括号中的内容替换为“Department *”,以便将C:\ users中每个目录中的所有目录替换为第二个,并将prog.exe复制到它。它通过在第一个dir中找到每个dir并将%j设置为其路径来实现此目的。然后它为%i的第二个值做这个,等等。要在一个批处理文件中使用它,一定要对所有的%使用双%' – nephi12

+0

从op的注释到他的原始文章,看起来他只想把'exe'复制到'%user%'文件夹。所以'for'需要修改才能满足这个要求。 – lurker

相关问题