経緯
制作中に特定の文字列を含む全てのファイルが要らなかったので、手軽に使えるものを作った。
使い方
1: メモ帳を開き下記のコードをコピペ
2: 「target_dir=」と「target_string=」を書き換える
3: 拡張子を.txtから.batに変更し実行
moveToTrashCan.bat
@echo off
setlocal
:: 削除対象のディレクトリを指定
set "target_dir=C:\PASS\FolderName"
:: ファイル名に含まれる特定の文字列
set "target_string=ExampleMoveFileName"
:: ファイル検出
echo 検出されたファイル:
for %%f in ("%target_dir%\*%target_string%*") do (
echo %%f
)
:: 削除確認を求める
set /p "confirm=これらのファイルを削除してもいいですか? (y/n): "
if /i "%confirm%" neq "y" (
echo 処理をキャンセルしました。
exit /b
)
:: ファイルをごみ箱に移動(PowerShellを使用)
for %%f in ("%target_dir%\*%target_string%*") do (
echo %%f をごみ箱に移動しています...
powershell.exe -Command "Add-Type -AssemblyName Microsoft.VisualBasic; [Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('%%f', 'OnlyErrorDialogs', 'SendToRecycleBin')"
)
echo 完了しました!
pause