我正在尝试编写一个批处理文件,该文件在运行时将在没有互联网的情况下关闭我的计算机。我正在使用Windows10。批处理文件的内容
@echo off
set "host=192.168.1.1"
ping -n 1 "%host%" | findstr /r /c:"[0-9] *ms"
if %errorlevel% == 0 (
echo Success.
) else (
shutdown -s -t 60 2> D:/Projects/log.txt
)
但是,当运行“ shutdown -s -t 60”命令(或任何关闭方式)时,它会显示一条错误消息(重定向到错误文件) “该进程无法访问文件,因为它正在被另一个进程使用。”当我从cmd手动运行它时,它就可以正常工作。
答案 0 :(得分:0)
如果要测试互联网连接是否正常,请测试互联网上的某些设备而不是路由器。 Windows中D:\ Projects \ log.txt中的反斜杠。错误消息:“该进程无法访问该文件,因为它正在被另一个进程使用。”之所以发生,是因为您尝试使用D:\ Projects \ log.txt进行操作。批处理必须先完成,然后再尝试使用log.txt。 D:\项目必须存在。
@echo off
set host=8.8.8.8
ping -n 1 "%host%" | findstr "TTL"
if %errorlevel% == 0 (
echo Success.
) else (
md D:\Projects\
shutdown -s -t 60 > D:\Projects\log.txt
)
exit /b