バッチの経験はほとんどありませんが、Windows 64のフォルダーとそのサブフォルダーから、名前に特定の文字を含むすべてのファイルを削除するスクリプトが必要になりました。
del "C:\TEST\TEST2\*.TXT"
しかし、必要なフィルタリングを実行する方法がわかりません。誰かがバッチを使用してこれを達成するのを手伝ってくれますか?
より正確に編集すると、問題は「バッチにサブフォルダーを含めるように指示する方法」です。
バッチの経験はほとんどありませんが、Windows 64のフォルダーとそのサブフォルダーから、名前に特定の文字を含むすべてのファイルを削除するスクリプトが必要になりました。
del "C:\TEST\TEST2\*.TXT"
しかし、必要なフィルタリングを実行する方法がわかりません。誰かがバッチを使用してこれを達成するのを手伝ってくれますか?
より正確に編集すると、問題は「バッチにサブフォルダーを含めるように指示する方法」です。
/s
スイッチは、かなりの数のコマンド (を含むdel
)に存在します。
del /s "C:\TEST\TEST2\*.TXT"
のヘルプにdel /?
は次のように書かれています。
/S Delete specified files from all subdirectories.
これを試して:
@echo off & setlocal
set "MySearchString=X"
for /f "delims=" %%i in ('dir /b /s /a-d ^| findstr /i "%MySearchString%"') do echo del "%%~i"
出力に問題がなければ、コマンドMySearchString
を検索して削除する文字または文字列を変数に設定します。echo
MySearchString
ファイル名のみに を指定することもできます。
@echo off & setlocal
set "MySearchString=T"
for /r %%a in (*) do for /f "delims=" %%i in ('echo("%%~na" ^| findstr /i "%MySearchString%"') do echo del "%%~fa"