1

我有这 2 个文件 a.vbs 和 a.bat 每个只有一行。

一个.vbs

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

一只蝙蝠

copy c:\blah\y.y c:\

当它工作时,它会在后台安静地运行 a.bat,它会执行文件复制。

我可以 start..run...a.vbs a.bat 这行得通。我可以打开命令提示符并执行 wscript a.vbs a.bat

但不起作用的是这个

开始...运行...wscript a.vbs a.bat

如果我在 a.vbs 中放了一个 msgbox,很明显它会运行。但看起来 a.bat 在使用该方法时没有运行..

那个表格怎么不行?

4

2 回答 2

1

当 WScript.Arguments(0) 不是完整路径时,a.bat 需要在当前目录中。

您可以使用以下命令检查当前目录:

WScript.Echo WScript.CreateObject("WScript.Shell").CurrentDirectory

如果 a.bat 始终与 a.vbs 位于同一文件夹中,则可以使用完整路径:

set fso=WScript.CreateObject("Scripting.FileSystemObject")
thepath=fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName),"a.bat")
WScript.Echo thepath
于 2010-08-09T20:48:09.043 回答
0

为什么您使用 vbscript 只是为了调用 .bat? Start --> Run --> a.bat

如果你必须这样做,做Start --> Run --> cscript a.vbs a.bat

于 2010-08-27T12:54:42.417 回答