如何从 .bat 文件运行 .vbs 文件

5
创建了一个批处理程序来处理自动化文件管理和打印,需要调用vbs文件进行其sendkeys操作。有没有一种方法可以在不冻结程序的情况下完成这个操作?
我已经尝试了START /WAIT my.vbs,但是当进入.vbs时脚本会冻结。
还有其他方法或者开关推荐吗?
如果可能的话,我希望它能静默运行,并且我需要/WAIT开关,因为在批处理文件的下一步之前,我需要完成sendkeys操作。

2
你“将要尝试”?先试一下,然后回报结果。试图解决已经解决的问题是没有用的。 - Cody Gray
1
脚本进入.vbs时会冻结。我需要/WAIT开关,因为我需要在批处理文件的下一步之前完成sendkeys操作。所以,您需要vbs在下一步操作之前完成,但不希望脚本冻结。请详细说明,当它“等待”sendkeys完成工作时,您希望批处理脚本执行什么操作?如果您解释清楚了这一点,那么也许就有了您问题的答案。实际上,如果您解释清楚了这一点,那么这可能就是您问题的答案 :-) Mikki Finn - user781416
这是一个每晚运行的脚本,我无法在白天进行适当的测试而不影响操作。因此,我只想问“是否有其他方法或开关可以推荐?” - Anthony Miller
抱歉我的措辞不够清晰...“当脚本进入.vbs时会冻结”我是指它开始了.vbs...但是.vbs中的代码没有运行,程序无限期地挂起。 但回想起来,我没有设置@echo off,因此它没有关注应用程序。 因此,我设置了@echo off,并添加了一个运行命令以确保下次sendkeys函数运行时它获得焦点。 - Anthony Miller
4个回答

7

你可以尝试使用cscript //NoLogo //B my.vbs代替START /WAIT my.vbs。这样做还可以通过参数向cscript传递其他选项


1
我认为那会起作用。我很少使用cscript/wscript,所以我完全忘记了它。我会测试一下。我在本地机器上设置了一个小的测试区域,并将进行实验。 - Anthony Miller
1
这个答案完美地解决了我的问题。谢谢Wimmel。 - Anthony Miller

2

只需正确调用vbs文件的路径

编辑BAT文件...!!!

wscript "文件路径"

示例:

wscript "D:\KmaniZoro\PGM\N++\VBS\inputbox.vbs"


0
创建 .vbs 文件,然后打开批处理文件并输入 START "" "文件路径" 例如:Start "" "C:\Users\%Username%\Desktop\Spiritual Aid\Program\2.vbs" 它在我的电脑上完美运行。

0

timeout 5 timeout /?

TIMEOUT [/T] timeout [/NOBREAK]

描述: 此实用程序接受超时参数以等待指定的时间段(以秒为单位)或直到按下任意键。它还接受一个参数来忽略按键。

参数列表: /T timeout 指定等待的秒数。 有效范围为-1至99999秒。

/NOBREAK                Ignore key presses and wait specified time.

/?                      Displays this help message.

注意:超时值为-1表示无限等待按键。

示例:

TIMEOUT /?
TIMEOUT /T 10
TIMEOUT /T 300 /NOBREAK
TIMEOUT /T -1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接