Bagaimana cara menggunakan dir dan salin bersama untuk mencari direktori dan menyalin ke folder?

10

Saya perlu mencari folder yang ditentukan dan subdirektori untuk file (s), lalu salin ke folder yang ditentukan di tempat lain. Apakah mungkin menggunakan dirdan menggunakan copypipa?

dir /s foo???.txt | copy g:\someplace

Di atas tidak bekerja. Sisi kiri pipa menemukan apa yang saya inginkan, tetapi saya tidak bisa mendapatkannya untuk menyalin file yang ditemukan. Saya menggunakan prompt perintah Windows 7.

Flotsam N. Jetsam
sumber
Jenis file apa yang Anda butuhkan karena penasaran? Apakah wildcard tidak cukup?
Dave
Saya perlu menggunakan wildcard (??? - "?" Adalah wildcard satu digit) dalam perintah sedemikian rupa sehingga di atas akan menangkap foo_42, foo_01, dll dan itu akan berada di berbagai subfolder.
Flotsam N. Jetsam

Jawaban:

10

Anda bisa menggunakan xcopy:

xcopy /s foo???.txt g:\someplace

Ini akan menahan struktur direktori.

Jika Anda tidak ingin struktur direktori Anda dapat melakukan hal berikut:

for /r %i in (foo???.txt) do xcopy /Y "%i" g:\someplace

Jika Anda menggunakan ini dalam batchfile Anda harus menggandakan %seperti ini:

for /r %%i in (foo???.txt) do xcopy /Y "%%i" g:\someplace
Rik
sumber
Sebenarnya, saya perlu sedikit tweak. Bisakah itu dilakukan tanpa menjaga struktur direktori?
Flotsam N. Jetsam
Haha, itu yang saya takutkan :) (itu sebabnya saya secara khusus menyatakannya). Tapi apa yang akan Anda lakukan dengan nama file duplikat? Itu tidak dapat dilakukan dengan xcopy itu sendiri tetapi Anda bisa melakukannya dengan memipipkan sesuatu ke robocopy (atau mungkin hanya menyalin tetapi dalam batchfile). Versi Windows apa yang Anda miliki?
Rik
Windows 7. Tidak akan ada duplikat untuk aplikasi saya.
Flotsam N. Jetsam
Menambahkan metode untuk menyalin ke satu direktori. Untungnya tidak perlu robocopy. Gunakan saja for /r.
Rik
1
Kamu keren. Saya berharap saya dapat membesarkan hati Anda lagi. Terima kasih!
Flotsam N. Jetsam