結論
rem 自身のフルパスに".zip"が含まれるか検索
echo %~dp0 | find ".zip" >NUL
if not ERRORLEVEL 1 goto STOP
rem 展開されている場合
echo 処理を行います。
pause
rem 終了
exit /b
rem 展開されていない場合
:STOP
echo Zipファイルのため処理を中断します。展開してください。
pause
考え方
![](https://10-yen.com/wp-content/uploads/boy_question.png)
ハカセ、自分が展開されていないzipファイルの場合には
処理をしないバッチが欲しいんだけど…
![](https://10-yen.com/wp-content/uploads/hakase1_smile.png)
うむ。展開されていないまま実行すると動作する保証がないからな。
ただ、バッチファイル自身は自身が展開されているかどうかはわからんのじゃ。
![](https://10-yen.com/wp-content/uploads/boy_surprise.png)
え、じゃあどうするのさ!
![](https://10-yen.com/wp-content/uploads/hakase1_smile.png)
自身のフルパスを見て、
“.zip”というフォルダが存在した場合は自身が展開されていない
と判断すれば良い。
![](https://10-yen.com/wp-content/uploads/boy_idea.png)
なるほど!展開されていたら自身のフルパスには”zip”は入らないもんね。
あれ、でもこれは「.zip」がついているかどうかしか見ていないから、
普通に「test.zip」っていうフォルダを作ったらダメだよね?
![](https://10-yen.com/wp-content/uploads/hakase2_angry.png)
そんな奴のことは考えとらん!
コメント