2013-05-14 36 views
5

tôi sử dụng lệnhXóa tập tin trong hàng loạt với mà không cần thông báo lỗi

del "info*" 

để xóa một nhóm các tập tin bắt đầu với "info". Vấn đề là đôi khi có là ít nhất một trong các tệp này tồn tại, do đó chúng bị xóa và những tệp khác không tồn tại tệp và thông báo lỗi xảy ra. Tôi cần tập lệnh của mình không được chặn nếu các tệp này không tồn tại.

Tôi nhìn vào các tùy chọn để xóa /? nhưng không có gì giúp tôi tiếp tục.

Bạn có thể giúp tôi không?

+0

Bạn có đang sử dụng thông tin 'del/q *. *' Không? –

+0

Tôi nghĩ thông số/Q chỉ cho phép bạn bỏ qua thông báo xác nhận, nó vẫn sẽ xuất ra lỗi "Không thể tìm thấy [...]". Có thể là sai mặc dù – RelevantUsername

Trả lời

9

thử điều này:

del "file to delete" >nul 2>&1 
del "info*" >nul 2>&1 

này gửi tin nhắn bình thường và lỗi để nul.

del "file to delete" 2>nul 
del "info*" 2>nul 

Chỉ gửi thông báo lỗi đến nul.

+0

cảm ơn bạn rất nhiều, rất tốt! – new

4

Bạn có cố gắng một cái gì đó như thế này:

IF EXIST [Filename] (
    del [Filename] 
) ELSE (
    ... 
) 
3

Một cách khác có thể là một điều này:

for /f "delims=" %a in ('dir /B /S info*') do del "%a"

này sẽ làm một dir để có được một danh sách các tập tin phù hợp. Nếu tìm thấy, làm cho mỗi một "del".

Có vẻ hơi quá mức, nhưng sẽ ngăn các lỗi như "thông tin tệp * không tìm thấy".

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