2013-10-04 76 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

相關問題