2

我编写了一个批处理文件来检查 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 任务计划程序中安排它时它正在部分工作(重新启动服务但日志为空.. .)

任何想法如何解决它?我只需要这个日志文件工作。

4

1 回答 1

2

我认为问题是日志文件的相对路径,您需要绝对路径,例如:C:\temp\LOG.txt.

如果您从控制台开始,则可以在同一目录中创建日志文件,但如果您尝试安排它,则无法创建日志文件,因为当前目录是系统目录。

于 2015-07-31T11:58:38.083 回答