Câu trả lời:
for %a in (*) do ren "%a" "00_%a"
Ghi chú:
fornhư trên là không nên.Sử dụng như sau trong một cmdvỏ:
for /f "tokens=*" %a in ('dir /b') do ren "%a" "00_%a"
Trong một tệp bó (thay thế %bằng %%):
for /f "tokens=*" %%a in ('dir /b') do ren "%%a" "00_%%a"
Ghi chú:
Điều quan trọng là bạn sử dụng
FOR /Fvà không đơn giảnFOR.Tập
FOR /Fhợp toàn bộ kết quả củaDIRlệnh trước khi bắt đầu lặp, trong khi đơn giảnFORbắt đầu lặp lại sau khi bộ đệm bên trong đầy, điều này làm tăng nguy cơ đổi tên cùng một tệp nhiều lần.
theo lời khuyên của dbenham trong câu trả lời của mình để thêm "văn bản" vào cuối nhiều tên tệp :
Để thực hiện điều này Đối với vòng lặp trên các thư mục (thư mục) thay vì các tệp, chỉ cần bao gồm công /Dtắc.
for /D %a in (*) do ren "%a" "00_%a"
Từ for /?:
Biến FOR / D% IN (set) Lệnh DO [tham số lệnh]
If set contains wildcards, then specifies to match against directory names instead of file names.
renkhông hoạt động trên các thư mục. Hạn chế là "bạn không thể chỉ định một ổ đĩa hoặc đường dẫn khác cho Target.
Ren.
for /dcũng có thể có vấn đề cố gắng xử lý các giá trị nhiều lần (cũng xem câu trả lời của tôi).