繁体   English   中英

PowerShell:使用“启动进程”调用并行抛出错误

[英]PowerShell: Invoke-Parallel throwing error with “start-process”

我使用的是Invoke-Parallel CmdLet,可在此处的链接中找到 当我的脚本块中有一些伪代码时,它可以正常工作,但是当我添加启动过程...命令时,它将失败,并显示错误消息

Get-RunspaceData : This command cannot be run due to the error: The system    
cannot find the file specified.
At c:\crm\Interfaces\Batches\Invoke-Parallel.ps1:592 char:13

我的脚本块看起来像这样。 长话短说,我将文件名输入到一个块中,并告诉第3方应用程序将该文件用作流程的输入。 删除启动过程行后,它可以工作,并且失败。

$childFiles| Invoke-Parallel -ImportVariables {
    $importformat = '-f ' + '"CU Imp P19 FI"'
    $importfile = '-d ' + $_ + " " + $user + " " + $pass        
    Write-Host $importformat + " " + $_
    start-process .\mmim.exe -ArgumentList  $user, $pass, '-l:1', 
    $importformat, $importfile -Wait -NoNewWindow
    return "blah"
}

有谁知道会发生什么事吗? 我的PowerShell版本如下

专业:5

次要:0

建立:10586

修订:117

任何帮助是极大的赞赏。

每个PowerShell运行空间都有其自己的当前位置。 如果Invoke-Parallel不会更改生成的运行空间的当前位置以匹配主运行空间的当前位置,则相对路径.\\mmim.exe可能会解析为整个不同的可执行文件,或者根本不会解析并产生给定的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM