次のバットファイル mybat.bat があります。
1) サービスを停止する
2) いくつかのログファイルを削除します
3) サービスを再開します。
@echo off
net stop "myservice"
if ERRORLEVEL 1 goto error
exit
:error
echo There was a problem...maybe it was alreay stopped
rem sometimes the terminal simply closes when trying to delete the logfiles :-(
set folder="C:\stuff\logs"
del %folder%\*.* /s /f /q
net start "myservice"
if %errorlevel% == 2 echo Could not start service.
if %errorlevel% == 0 echo Service started successfully.
echo Errorlevel: %errorlevel%
cmd.exe インスタンスを手動で開いて mybat.bat を実行しましたが、ログファイルを削除しようとすると、stuff\logs の内容が削除されずに単に閉じてしまうことがあります。なぜこれが起こっているのか、削除が失敗しても cmd インスタンスを維持する方法についてのアイデアはありますか?
しばらく待って mybat を再度実行すると、通常は機能します。