2008-10-29 15 views

cevap

95
mkdir targetDir 
for /r %x in (*.dll, *pdb) do copy "%x" targetDir\ 

Birden fazla dosya kopyalıyorsanız ve "Evet" e cevap vermek istemiyorsanız, yukarıdaki komutun sonunda/Y düğmesini kullanın.

+0

güzel bir. sözdizimi emin değildi. Bir toplu iş dosyasında – Ady

+0

herhangi bir yinelenen adları dövmek. –

+13

kullanım "%% x" olmadan – bob

-2

doğrudan bunu herhangi bir komut satırı araçları farkında değilim, ama ihtiyacınız olan dosyaları alt klasörler arasında döngü Toplu komut dosyası oluşturmak ve kopyalama başladı. Aynı klasörde hepsini yerleştirirseniz

Ancak yinelenen dosya adlarına sahip dosyaları ile sona erebilir.

-1
@echo off 
if %1'==' goto usage 
if %2'==' goto usage 
if %3'==' goto usage 
for /D %%F in (%1\*) do xcopy %%F\%2 %3 /D /Y 
for /D %%F in (%1\*.) do call TreeCopy %%F %2 %3 
goto end 
:usage 
@echo Usage: TreeCopy [Source folder] [Search pattern] [Destination folder] 
@echo Example: TreeCopy C:\Project\UDI *.xsd C:\Project\UDI\SOA\Deploy\Metadata 
:end 
35

komut XCOPY

yinelemeli kopyalama klasörünün örnek:

mkdir DestFolder 
xcopy SrcFolder DestFolder /E 

(comment komutu WIKI aşağıdaki aşağıda belirtilen DOS 3.2 beri sunulmuştur)

+2

+1. XCOPY birisi için yararlı olabilirdi –

+2

(DOS 3.2 beri http://en.wikipedia.org/wiki/XCOPY göre) sadece Windows 7 ... sonsuza civarında olmuştur değil ama değil, ancak, Not "ile uyumludur.", "Klasör hiyerarşisini hedef klasörde yeniden oluşturmak istemiyorum." – nrodic

+0

@nrodic, doğru bir şekilde anladığımda bu beklenti, kaynak klasörleri hiyerarşisinde rekreasyon yapılmasını manüel olarak engellemeye ilişkindir; dolayısıyla yukarıdaki komut, SrcFolder'ı tüm klasör yapısıyla yinelemeli olarak (ve dosyalar) kopyalar. – Bronek

0

Yolunuzda boşluk varsa, doğru teklifleri aldığınızdan emin olun.

benim TFS sunucu oluşturmak için Bu benim postbuild olaydır ("%%" var yüzden). Kopyalanacak tüm test dosyalarına ihtiyacım vardı.

if not exist "$(TargetDir)..\SingleFolderOutput" mkdir -p "$(TargetDir)..\SingleFolderOutput" 

for /r **%%x** in (*.dll, *.pdb, *.xml, *.xaml, *.exe, *.exe.config) do xcopy **"%%x"** "$(TargetDir)..\SingleFolderOutput" /Y 
İlgili konular