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

上一个文章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。

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值