Tôi muốn xóa tất cả các tệp trong thư mục hiện tại không chứa chuỗi "mẫu" trong tên của chúng.DOS Lô cho vòng lặp để xóa tệp không chứa chuỗi
ví dụ,
test_final_1.exe
test_initial_1.exe
test_sample_1.exe
test_sample_2.exe
Tôi muốn xóa tất cả các file khác hơn so với những người có chứa mẫu trong tên của họ.
for %i in (*.*) do if not %i == "*sample*" del /f /q %i
Is the use of wild card character in the if condition allowed?
Does, (*.*) represent the current directory?
Cảm ơn.
Cảm ơn. Điều đó hoạt động. Nó thậm chí hoạt động mà không cần thêm, "eol =: delims =". Tôi có thể biết lý do sử dụng nó trong dòng lệnh trên không? Ngoài ra, các đối số bổ sung cho lệnh dir khác với/b. Tôi hiểu việc sử dụng chuyển đổi/b tuy nhiên, việc sử dụng/a-d là gì? –
Sử dụng 'HELP DIR' từ dòng lệnh để được trợ giúp về tất cả các tùy chọn. Nhưng '/ a-d' loại trừ các thư mục khỏi đầu ra. 'DELIMS' nên được đặt thành không có gì để bảo toàn toàn bộ tên tệp. Mặc định của không gian và tab sẽ phá vỡ ở không gian đầu tiên trong một tên tập tin. Ký tự ';' là một tên tệp hợp lệ. Bất kỳ tên tệp nào bắt đầu bằng ';' sẽ bị bỏ qua bởi 'FOR' với tùy chọn' EOL' mặc định. Không có tên tệp nào có thể chứa một ':', vì vậy tôi đặt tùy chọn 'EOL' cho ký tự đó. – dbenham