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