バッチ処理で指定文字列を含まないファイルを削除するには?
windows10 64bit環境です。
//forで.mp3ファイルを順に処理対象にする
for /F %%a in ('dir /b *.mp3') do (
echo.%%a
)
//hogeを含まない.mp3を削除
//仮にfuga.mp3が処理対象だったら
set str1=fuga.mp3
if x%str1:hoge=%==x%str1% (
del %str1%
)
これらを組み合わせて
@echo on
setlocal enabledelayedexpansion
for /F %%a in ('dir /b *.mp3') do (
set str1=%%a
if x!str1:hoge=!==x!str1! (
echo.!str1!
)
)
pause
このように処理したのですが
エラーなのかすぐにコマンド入力画面が消えます。
そしてファイルも削除できません。
解決方法をお教えいただけると大変助かります。
よろしくお願いいたします。