【Window】定时任务执行提示找不到文件的原因
背景:
为了让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。
————————————————
版权声明:本文为CSDN博主「jwensh」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u013948858/article/details/84664794