web-dev-qa-db-ja.com

エラーメッセージなしでファイルをバッチで削除します

コマンドを使用します

del "info*" 

「info」で始まるファイルのグループを削除します。問題は、これらのファイルの少なくとも1つが存在する場合があるため、削除されることもあれば、ファイルが存在せずエラーメッセージが表示されることもあります。これらのファイルが存在しない場合、スクリプトでブロックしてはいけません。

Del /?のオプションを確認します。しかし、私が先に進むのを助けるものは何もありません。

私を手伝ってくれますか?

29
new

これを試して:

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

これにより、正常なメッセージとエラーメッセージがnulに送信されます。

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

これにより、エラーメッセージのみがnulに送信されます。

21
Endoro

あなたはこのようなことを試しましたか?

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

別の方法はこれです:

/ f "delims ="%a in( 'dir/B/S info *')のためにdel "%a"

これは、適切なファイルのリストを取得するためにdirを実行します。見つかった場合は、それぞれに「del」を実行します。

少しやり過ぎに見えますが、「ファイル情報*が見つかりません」などのエラーを防ぎます。

3
Shivan