我已经编写了一个批处理文件,用于检查Hamachi服务是否正常工作,如果不是,则启动它。我通过编写vbs脚本
使这个脚本在后台工作CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False
并执行它
wscript.exe "invisible.vbs" "HamachiRestart.bat"
HamachiRestart.bat看起来像这样:
for /F "tokens=3 delims=: " %%H in ('sc query "Hamachi2Svc" ^| findstr " STATE"') do (
if /I "%%H" NEQ "RUNNING" (
net start "Hamachi2Svc"
echo %COMPUTERNAME% %DATE% %TIME% :: Uruchomiono usługę >> LOG.txt
)
)
echo %COMPUTERNAME% %DATE% %TIME% :: OK >> LOG.txt
exit
当我从控制台执行它时它工作正常(重启服务并添加行记录)但主要问题是,当我尝试在Windows任务计划程序中安排它时,它正在部分工作(重启服务但是log是空的......)
任何想法如何解决?我只需要这个日志文件工作。
答案 0 :(得分:2)
我认为问题是日志文件的相对路径,您需要绝对路径,如:C:\temp\LOG.txt
。
如果从控制台启动,则可以在同一目录中创建日志文件,但如果您尝试安排日志文件,则无法创建日志文件,因为当前目录是系统目录。