Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell启动进程未正确启动.exe_Powershell_Scripting - Fatal编程技术网

Powershell启动进程未正确启动.exe

Powershell启动进程未正确启动.exe,powershell,scripting,Powershell,Scripting,我有一个程序,我想从PowerShell脚本开始 在Windows资源管理器中双击程序exe时,会启动一些进程,检查程序是否为最新版本,并检查是否存在两个更新程序文件 如果版本是最新的,程序登录表单将启动,否则首先会更新它(我确认它会启动更新程序),然后登录表单将打开 当我使用“启动进程”时,它只会给我一条错误消息,说明更新程序文件丢失(没有)。如果我试图通过粘贴exe的完整路径并点击ENTER来启动它,同样的事情也会发生 但是,如果我先将cd放入exe目录,然后像\program.exe一样调

我有一个程序,我想从PowerShell脚本开始

在Windows资源管理器中双击程序exe时,会启动一些进程,检查程序是否为最新版本,并检查是否存在两个更新程序文件

如果版本是最新的,程序登录表单将启动,否则首先会更新它(我确认它会启动更新程序),然后登录表单将打开

当我使用“启动进程”时,它只会给我一条错误消息,说明更新程序文件丢失(没有)。如果我试图通过粘贴exe的完整路径并点击ENTER来启动它,同样的事情也会发生

但是,如果我先将
cd
放入exe目录,然后像
\program.exe
一样调用exe,或者使用
启动进程。\program.exe
,则运行正常


是什么导致这种行为差异?

是否特定于PowerShell?如果改用
CMD
怎么办?或者如果您创建
.exe
文件的快捷方式,然后更改该快捷方式的工作目录属性?也许程序写得很差,不承认工作目录并不总是
.exe
文件所在的目录。PowerShell版本是什么?@tukan,我以为是4,但结果是2。我现在将更新到4。@PetSerAl,哦,这就是区别<代码>启动进程告诉exe调用pwd时工作目录是什么?这就解释了为什么它不工作了——很可能程序正在“CurrentWorkingDirectory”中查找文件。@J.Doe
Start Process
告诉exe工作目录在调用pwd时是什么?是的,这是默认行为:除非另有指定,否则子进程将从其父进程继承当前工作目录<代码>启动流程-工作目录