2011-01-15 31 views
7

Tôi có một thư mục có nhiều thư mục con với một hoặc nhiều tệp trong mỗi thư mục. Tôi đang cố gắng để viết một tập tin thực thi mà di chuyển tất cả những tập tin vào C: \ bài hát (ví dụ). Bất kỳ giúp đỡ? Tôi đã cố gắngDOS lệnh để di chuyển tất cả các tệp trong thư mục con lên một cấp lên

C:\>FOR /R C:\Test %i IN (*) DO MOVE %i C:\Songs 

Các thư mục thử nghiệm và các bài hát tồn tại, nhưng tôi nhận được một lỗi nói

%i was unexpected at this time. 

Tôi đang làm gì sai?

Trả lời

5
FOR /R %i IN (C:\Test\*) DO MOVE "%i" C:\Songs 

Trong tệp hàng loạt, tệp này phải là %% i. Kỳ quặc kỳ lạ của lô.

+0

Bạn có chạy ứng dụng này không? Đối với tôi nó chỉ treo bảng điều khiển. Kỳ dị. –

+0

Nếu thư mục khổng lồ, sẽ mất nhiều thời gian để phân tích cú pháp mọi thứ một cách đệ quy. Có, tôi đã thử nghiệm nó, trên Win7 và bây giờ trên XP. Mặc dù vậy, MS-DOS chính hãng sẽ cần \ *. \ *. – SilverbackNet

+0

Hoạt động. Cảm ơn :) – Rishi

5

(di chuyển các file trong thư mục con lên 1)

for /r %x in (*.*) do move "%x" "%x"/../.. 

(phần cuối cùng tôi thường sử dụng slants lạc hậu nhưng điều này điên giữ xóa chúng vì một lý do. Nó sẽ làm việc một trong hai cách mặc dù)

(xóa thư mục không cần thiết)

for /d /r %x in (bin) do rd "%x" 

ví dụ, nếu bạn đã có một loạt các thư mục với các file trong thư mục "bin" dưới những và bạn muốn để di chuyển mọi thứ lên 1 và xóa các thư mục "bin".

+0

Làm thế nào bạn thay đổi lệnh đầu tiên để sử dụng thư mục đã chọn thay vì '(* . *) '? (Đây là để sử dụng trong một tập tin thực thi mà sau đó tôi sẽ sử dụng với một lệnh menu ngữ cảnh tùy chỉnh.) – u01jmg3

Các vấn đề liên quan