批次只有一個實例

批次只有一個實例

我發現這個腳本在這裡它運作得很好,但問題是因為我喜歡設定儲存該鎖定檔案的路徑,例如 D:\mylogs。但是這個腳本會在運行它的地方產生一個日誌,這是不行的。有什麼幫助可以更改此腳本,以便我可以選擇自己的鎖定檔案資料夾嗎?

如何防止執行同一批處理文件兩次以僅允許一個實例?

如何更改此程式碼以便我可以選擇創建 locl 檔案的位置。因為現在它是在腳本啟動的地方創建的,但我想將文件鎖定在我的資料夾中,例如 D:\script 任何人都可以幫忙嗎?

:init
set "started="
2>nul (
 9>"%~f0.lock" (
  set "started=1"
  call :start
 )
)
@if defined started (
    del "%~f0.lock" >nul 2>nul
) else (
    echo Process aborted: "%~f0" is already running
    @ping localhost > nul
)

exit /b




:start
cd /d %~dp0
:: REST OF THE SCRIPT

相關內容