배치 인스턴스가 하나만 있음

배치 인스턴스가 하나만 있음

여기서 이 스크립트는 훌륭하게 작동하지만 문제는 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

관련 정보