我有一個批處理腳本start.bat
創建鎖定.lock
文件(基本上,以驗證腳本運行,通過試圖將其刪除),並開始一堆二級循環批處理腳本(它們在start.bat
關閉後繼續運行)。問題是當start.bat
關閉時,鎖定的文件保持鎖定狀態,直到所有的輔助腳本都關閉。啓動命令不允許腳本完全關閉,直到二次腳本關閉
問題:是否有任何替代方法沒有,直到二次那些完成鎖定了主要的腳本運行二次批處理腳本?
我覺得這個代碼大部分都是不相關的,但包括它以防有人想測試它。
@echo off
set "started="
<nul >"%~nx0.lock" set /p ".=." ::Rewrite lock file with a single dot
2>nul (
9>>"%~f0.lock" (
set "started=1"
call :start
)
)
@if defined started (
del "%~f0.lock">nul 2>nul
) else (
exit //script closes
)
exit /b
:start
//irrelevant loop logic
Start pause.bat //Pause command to keep pause.bat open
//starts other batch files too