5

Windows バッチ ファイルを使用して、ネットワーク ドライブ H: 上のすべての desktop.ini および Recycle Bin.BIN ファイルを検索して削除したいと考えています。私は現在これを持っています:

@echo About to delete all desktop.ini and Recycle Bin.BIN files from H:, press Ctrl+C to cancel or Enter to continue.
@pause
@H:
@for /f "usebackq" %%i in (`dir /s /b /x /A:H ^| find "desktop.ini"`) do del /A:H "%%i"
@for /f "usebackq" %%i in (`dir /s /b /x /A:RH ^| find "Recycle Bin.BIN"`) do del /A:RH "%%i"
@echo Deleting complete, press any key to exit.
@pause

これは機能しますが、名前にスペースが含まれるサブフォルダー内のファイルの場合、「ファイルが見つかりません」というエラーで失敗します。それを修正する方法はありますか?

4

4 に答える 4

8

これをテストしてください:

ごみ箱の名前を、Windows 8 でここに表示されているものに変更しました。この名前は、Windows のバージョンによって異なります。

@echo off
del /s /q /f /a "h:\desktop.ini" 
del /s /q /f /a "h:\$Recycle.Bin\*.*"
于 2013-09-30T11:37:25.960 に答える
1

この問題は、デフォルトではスペースがforコマンドの区切り文字であるために発生しますが、delimsオプションを使用してこれを変更できます。ファイル パスに表示されない文字を選択すると、正常に動作するはずです。

@echo About to delete all desktop.ini and Recycle Bin.BIN files from H:, press Ctrl+C to cancel or Enter to continue.
@pause
@H:
@for /f "usebackq delims=|" %%i in (`dir /s /b /x /A:H ^| find "desktop.ini"`) do del /A:H "%%i"
@for /f "usebackq delims=|" %%i in (`dir /s /b /x /A:RH ^| find "Recycle Bin.BIN"`) do del /A:RH "%%i"
@echo Deleting complete, press any key to exit.
@pause
于 2013-09-30T11:13:14.617 に答える
0
for /r "H:\" %%a in (desktop.ini $Recycle.Bin) do if exist "%%~fa" echo del /f "%%~fa"

echo試してみて、スクリプトから削除して機能させてください。

于 2013-09-30T12:29:15.710 に答える