仅当不存在映射的网络驱动器时,Windows 10 中才可以运行计划任务吗?
背景:我有一个任务,一个批处理脚本,用于为备份服务 (CrashPlan) 映射两个网络驱动器。批处理脚本检查驱动器是否存在if exist Y:\ (...)
,否则映射它net use Y: ...
。
这是可行的,但由于这些网络路径可能在系统启动或登录时不存在(启动计算机时 NAS 关闭),我需要定期重复此任务以确保在网络路径可用时映射驱动器。
但实际上,如果驱动器尚未映射,我只需要重复该任务,因此只要驱动器已经存在,我就想跳过该任务。
无论如何,运行该任务没有坏处 - 它只是跳过命令net use
,但如果我可以在不需要时跳过该任务,日志会更干净。
根本的“问题”是确保两个映射驱动器始终存在于 CrashPlan 服务中,并在网络路径可用(NAS 设备在线)时以 SYSTEM 帐户运行。您可以随意提出完全不同的方法,但最好尝试将其保留在评论中,以避免使这个问题的答案变得混乱。如果有人建议我单独发布这样的问题,我很乐意这样做。
答案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 的网络连接不会中断。(假设有些小猫玩以太网电缆)