从powershell调用批处理文件(批处理文件调用.exe)

时间:2016-03-17 03:51:54

标签: powershell

我试图从powershell调用批处理脚本。 我使用命令Start-Process

Start-Process D:\Homeware\install.bat -wait

批处理文件调用.exe文件。

我的问题是Start-Process正常调用批处理文件,而.exe文件未被触发。

install.bat的内容 ..\InstallVersion\InstallVersion.exe

1 个答案:

答案 0 :(得分:2)

Start-Process默认情况下在与调用PowerShell实例的工作目录相同的目录中启动新进程。

因此,您无法在批处理文件中使用相对路径到您的.exe文件。

如果路径是相对于批处理文件的位置,请从批处理文件中调用.exe,如下所示:

"%~dp0..\InstallVersion\InstallVersion.exe"

%0包含批处理文件本身的文件路径,修饰符~dp提取驱动器(d)和目录路径(p,包括尾随{{1}来自该路径的部分。

如果您无法编辑批处理文件,只需使用\'确保将工作目录设置为批处理文件所在的目录。 Start-Process参数:

-WorkingDirectory