我正在尝试编写一个脚本,在运行脚本的其余部分之前检查计算机是否在我的 LAN 上。这是一个使用robocopy的简单备份脚本,但我希望它根据是否成功输出一个文件。这就是我所拥有的。
set machine=userbox
ping -n 1 %machine% > nul
if errorlevel 1 goto BAD
goto GOOD
:GOOD
robocopy source destination
echo "backup complete" > c:\scripts\backupgood-%machine%.log
shutdown /s /m \\%machine% /t 600
goto END
:BAD
echo "Computer not on" > c:\scripts\%machine%-offline.log
:END
Run Code Online (Sandbox Code Playgroud)
现在,脚本不会检测系统是否打开,而是假设系统已打开并继续执行脚本,就好像计算机能够被 ping 通一样。
有人可以指出为什么错误没有通过,或者也许有人有更好的方法来确定系统是否在线。
提前致谢。