运行start..run..wscript a.vbs a.bat的问题

时间:2010-08-09 16:56:31

标签: vbscript windows-xp batch-file command-prompt

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

a.vbs

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

a.bat

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

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

我可以开始..运行...... a.vbs a.bat 这样可行。 我可以打开命令提示符并执行wscript a.vbs a.bat

但是不起作用的是这个

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

如果我把一个msgbox放在a.vbs中,很明显可以运行。 但看起来a.bat在使用该方法时不会运行..

该表格不起作用?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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