【Window】定时任务执行提示找不到文件的原因

版权声明:本文为博主原创文章,未经博主允许不得转载。谢谢您的关注... https://blog.csdn.net/u013948858/article/details/84664794

上一个文章bat脚本引起的问题:【Selenium】window让bat脚本后台运行,周期重置standalone服务

背景:

为了让bat文件执行不会有黑窗口停留,所以再脚本中加入了一下内容

@echo off
:: 这里控制脚本的后台执行
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit

问题在 `run("%~nx0 h",0)` 上面,window定时任务时,执行的命令是`C:\selenium\uts-cmd.bat`,执行后再脚本内容`%~nx0`参数的值是`uts-cmd.bat`,所以`mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit`执行会报错,提示找不到文件,因为这个命令默认的路径是`C:\Windows\System32`

解决:

1.直接再脚本里把文件的脚本写成绝对路径(这种方式不够灵活,因为在不同的机器上会有不同的路径,可以看个人需求,set path)

2.在设置定时时指定路径(就是一个 -d参数),如下图:

 总结:

路径问题很容易被发现,需要去研究具体的代码步骤,下设计脚本的时候,可能没有注意到对应的路径规则,没有关系,出现问题要记得根据错误提示去review。

猜你喜欢

转载自blog.csdn.net/u013948858/article/details/84664794