Tôi có một tập lệnh một dòng sao chép tất cả các tệp ".ext1" từ thư mục hiện tại sang thư mục đích theo cách đệ quy:
xcopy *.ext1 D:\dest /s /d /y
Nó hoạt động hoàn hảo.
Bây giờ tôi cũng muốn sao chép tất cả * .ext2. Thay vì dán sao chép (hoạt động tốt):
xcopy *.ext1 D:\dest /s /d /y
xcopy *.ext2 D:\dest /s /d /y
Tôi muốn sử dụng một for
chỉ huy:
for %%f in (*.ext1 *.ext2) do xcopy %%f D:\dest /s /d /y
Nhưng nó không hoạt động:
- Nó không sao chép thư mục con của thư mục nguồn
- Nó không sao chép các tệp có tên có khoảng trắng như "read me.ext1"
Tôi đã cố gắng sử dụng một /R
Chìa khóa:
for /R %%f in (*.ext1 *.ext2) do xcopy %%f D:\dest /s /d /y
nhưng nó đã dẫn đến việc sao chép các tập tin nguồn phụ vào thư mục gốc của Dest. Và tên với không gian đã không đi.
Một hình thức chính xác của for
lệnh sẽ là gì?
...xcopy "%%f%" ...