僅當映射的網路磁碟機不存在時才執行排程任務?

僅當映射的網路磁碟機不存在時才執行排程任務?

只有當映射的網路磁碟機不存在時,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 的網路連線不會中斷。 (假設有些小貓玩乙太網路線)

相關內容