
매핑된 네트워크 드라이브가 없는 경우에만 Windows 10에서 예약된 작업을 실행할 수 있습니까?
배경: 백업 서비스(CrashPlan)를 위해 두 개의 네트워크 드라이브를 매핑하는 배치 스크립트 작업이 있습니다. 배치 스크립트는 드라이브가 있는지 확인 if exist Y:\ (...)
하고 그렇지 않으면 매핑합니다 net use Y: ...
.
작동하지만 시스템 시작이나 로그인 시 이러한 네트워크 경로가 없을 수 있으므로(컴퓨터를 시작할 때 NAS가 꺼짐) 네트워크 경로를 사용할 수 있게 되면 드라이브가 매핑되도록 이 작업을 정기적으로 반복해야 합니다. .
그러나 드라이브가 아직 매핑되지 않은 경우에만 작업을 반복하면 되므로 드라이브가 존재할 때마다 작업을 건너뛰고 싶습니다.
어쨌든 작업을 실행하는 데 아무런 해가 없습니다. 단지 명령을 건너뛰는 것뿐이지만 net use
, 필요하지 않을 때 작업을 건너뛸 수 있다면 로그가 더 깔끔해질 것입니다.
근본적인 "문제"는 네트워크 경로를 사용할 수 있을 때마다(NAS 장치가 온라인 상태일 때) SYSTEM 계정으로 실행되는 CrashPlan 서비스에 두 개의 매핑된 드라이브가 항상 존재하는지 확인하는 것입니다. 이에 대해 완전히 다른 접근 방식을 자유롭게 제안할 수 있지만, 이 질문의 답변이 복잡해지는 것을 피하기 위해 해당 접근 방식을 주석으로 유지하려고 노력할 수도 있습니다. 그렇게 하라는 조언이 있으면 그러한 질문을 별도로 게시해 드리겠습니다.
답변1
성공 시 이 작업을 비활성화하는 스크립트 명령을 어딘가에 추가하세요.if exist Y:\ (...) and maps it otherwise net use Y: ...
schtasks.exe /CHANGE /TN "YourBatchScriptTask" /DISABLE
컴퓨터 시작 시 "YourBatchScriptTask"를 활성화하는 작업을 하나 더 추가합니다.
schtasks.exe /CHANGE /TN "YourBatchScriptTask" /ENABLE
그러나 그것이 나라면 NAS에 대한 네트워크 연결이 끊어지지 않을 것이라고 보장할 수 없기 때문에 이 "확인" 부분을 계속 유지할 것입니다. (이더넷 케이블을 가지고 놀고 있는 새끼 고양이를 가정해 보세요)