不審ファイルの一括検出と隔離 - Windowsコマンド実用例
ダウンロードフォルダーなどに混入した実行ファイル(.exe
や .bat
)を一括検出し、隔離フォルダーに自動で移動するバッチ処理の例です。セキュリティチェックや整理目的での活用が可能です。
使用コマンド
バッチファイルの例
@echo off
setlocal
set TARGETDIR=C:\Users\%USERNAME%\Downloads
set QUARANTINE=C:\quarantine
if not exist "%QUARANTINE%" mkdir "%QUARANTINE%"
for %%F in ("%TARGETDIR%\*.exe" "%TARGETDIR%\*.bat") do (
echo 隔離中: %%~nxF
move "%%F" "%QUARANTINE%\"
)
応用例
以下のような応用も可能です:
- 拡張子を追加して
.vbs
や.js
も検出対象に %%~tF
を使って更新日付で条件分岐findstr
と組み合わせてファイル内容に基づく判定
注意点
- 移動したファイルを元に戻す機能はないため、必要に応じて事前バックアップをする必要があります。
- ダウンロードフォルダーは日常的にファイルが追加されるため、誤検出に注意してください。(ファイルに応じてダウンロード先を変えるなどの対応も有効です。)
- スケジューラと組み合わせれば、定期スキャンも可能です(schtasks /create で登録できます)。