VBScript从VBScript的文件路径运行批处理文件,而不是批处理路径

时间:2015-02-18 09:27:41

标签: windows batch-file vbscript cmd

我遇到了VBScript的问题,昨天工作得很好,但由于某种原因今天不起作用。我试图从相邻服务器文件夹中的VBScript运行服务器上的批处理文件。 VBScript读起来像这样:

Dim Shell
Set Shell = CreateObject ("WScript.Shell")
Shell.run "cmd /K ..\Analyses\GeniE_SP.bat"

VBScript位于文件夹.. \ Local Design Calculations中的文件中,而批处理文件位于.. \ Analyses中。该脚本正在调用批处理文件,但是当批处理文件运行时,它正在运行VBScript的文件路径。这是命令窗口中显示的内容:

I:\Shared\Projects\105874\Local Design Calculations>REM @echo off

如果我只是从其实际位置运行批处理文件,则没有问题,因为命令窗口中的第一行将如此读取(应该如此):

I:\Shared\Projects\105874\Analyses>REM @echo off

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Shell.run "cmd /K cd ..\Analyses & GeniE_SP.bat"

如果需要批处理文件的当前活动目录,请先更改它。

答案 1 :(得分:0)

您可以指定所需内容的完整路径。在WinNT中没有驱动器默认目录。图形程序(即普通程序)根据exe所在的文件夹设置自己的默认目录(这不是每个驱动器的默认值,而是默认的程序)。

对于控制台程序(即非图形化),cmd.exe模拟每个驱动器的默认目录。

指明完整路径。