Vbscript 运行start..run..wscript a.vbs a.bat时出现问题
我有两个文件a.vbs和a.bat,每个文件只有一行 a、 vbs a、 球棒 当它工作时,它会在后台安静地运行一个.bat,它会复制文件 我可以开始…运行…a.vbs a.bat 这很有效。 我可以打开命令提示符并执行wscript a.vbs a.bat 但不起作用的是 开始…运行…wscript a.vbs a.bat 如果我将msgbox放在a.vbs中,很明显它会运行。 但使用该方法时,a.bat似乎不会运行 为什么该表单不起作用?当WScript.Arguments(0)不是完整路径时,a.bat需要位于当前目录中 您可以通过以下方式检查当前目录:Vbscript 运行start..run..wscript a.vbs a.bat时出现问题,vbscript,windows-xp,batch-file,command-prompt,Vbscript,Windows Xp,Batch File,Command Prompt,我有两个文件a.vbs和a.bat,每个文件只有一行 a、 vbs a、 球棒 当它工作时,它会在后台安静地运行一个.bat,它会复制文件 我可以开始…运行…a.vbs a.bat 这很有效。 我可以打开命令提示符并执行wscript a.vbs a.bat 但不起作用的是 开始…运行…wscript a.vbs a.bat 如果我将msgbox放在a.vbs中,很明显它会运行。 但使用该方法时,a.bat似乎不会运行 为什么该表单不起作用?当WScript.Arguments(0)不是完整路径
WScript.Echo WScript.CreateObject("WScript.Shell").CurrentDirectory
如果.bat始终与a.vbs位于同一文件夹中,则可以使用完整路径:
set fso=WScript.CreateObject("Scripting.FileSystemObject")
thepath=fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName),"a.bat")
WScript.Echo thepath
如果WScript.Arguments(0)不是完整路径,则.bat需要位于当前目录中
您可以通过以下方式检查当前目录:
WScript.Echo WScript.CreateObject("WScript.Shell").CurrentDirectory
如果.bat始终与a.vbs位于同一文件夹中,则可以使用完整路径:
set fso=WScript.CreateObject("Scripting.FileSystemObject")
thepath=fso.BuildPath(fso.GetParentFolderName(WScript.ScriptFullName),"a.bat")
WScript.Echo thepath
为什么使用vbscript只调用.bat<代码>开始-->运行-->a.bat
如果必须这样做,请执行
Start-->运行-->cscript a.vbs a.bat
为什么要使用vbscript来调用.bat<代码>开始-->运行-->a.bat
如果必须这样做,请执行
开始-->运行-->cscript a.vbs a.bat
只是想知道,为什么要使用批处理文件,而不只是从VBScript脚本调用?(或者这只是一个虚构的例子?)一个虚构的或示范性的例子。。所以不必是批处理文件中的副本,也可以是其他命令。但是问为什么这个方法不起作用,我想最好是用vbscript写下批处理中的任何内容。。但我仍然对这个问题感到好奇。只是想知道,为什么要使用批处理文件而不是简单地从VBScript调用?(或者这只是一个虚构的例子?)一个虚构的或示范性的例子。。所以不必是批处理文件中的副本,也可以是其他命令。但是问为什么这个方法不起作用,我想最好是用vbscript写下批处理中的任何内容。。但是我仍然对这个问题感到好奇。嗯,我想你的一般观点已经触及了一般问题。。确保我在任何地方都使用绝对路径。wscript c:\blah\inv.vbs c:\blah\a.bat和bat中带有copy命令的绝对路径。。非常平凡。。不过,如果我发现了什么,我会尽量把事情进一步孤立起来,再加上一句。。我不得不在某一点上重命名这些文件。我试着把它们改成绝对路径,现在似乎奏效了。。当我改变了很多路径后,它仍然有效。。wscript c:\blah\inv.vbs a.bat(正如您所说,a.bat位于同一个目录中-我实际上就是这样)和a.bat在文件副本中不需要绝对路径。我不知道到底出了什么问题。为什么wscript使用它不起作用,但不使用它却起作用。但是,问题出在你所说的区域。。我还看到了您提供的代码如何帮助您了解发生了什么。我看到,当不指定vbs文件的路径时,然后使用wscript执行该操作,它将在路径中找到任何vbs文件,而使用wscript它只在%userprofile%中查找。但这并不是行为的原因,因为vbs文件所在的目录不在path中。嗯,我认为您的一般观点已经解决了一般问题。。确保我在任何地方都使用绝对路径。wscript c:\blah\inv.vbs c:\blah\a.bat和bat中带有copy命令的绝对路径。。非常平凡。。不过,如果我发现了什么,我会尽量把事情进一步孤立起来,再加上一句。。我不得不在某一点上重命名这些文件。我试着把它们改成绝对路径,现在似乎奏效了。。当我改变了很多路径后,它仍然有效。。wscript c:\blah\inv.vbs a.bat(正如您所说,a.bat位于同一个目录中-我实际上就是这样)和a.bat在文件副本中不需要绝对路径。我不知道到底出了什么问题。为什么wscript使用它不起作用,但不使用它却起作用。但是,问题出在你所说的区域。。我还看到了您提供的代码如何帮助您了解发生了什么。我看到,当不指定vbs文件的路径时,然后使用wscript执行该操作,它将在路径中找到任何vbs文件,而使用wscript它只在%userprofile%中查找。但这不是行为的原因,因为vbs文件位于路径中不存在的目录中。该方法在vbs文件中执行该操作,在后台运行bat或任何命令,而不打开命令窗口。事实上,我的问题提到了这一点。这种方法在vbs文件中执行,在后台运行bat或任何命令,而不打开命令窗口。事实上,我的问题提到了这一点。