首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用powershell脚本中的参数在后台启动.exe

使用powershell脚本中的参数在后台启动.exe
EN

Stack Overflow用户
提问于 2013-04-02 23:09:44
回答 1查看 10.1K关注 0票数 7

我有一个程序,通常在powershell中是这样开始的:

代码语言:javascript
运行
复制
.\storage\bin\storage.exe -f storage\conf\storage.conf

在后台调用它的正确语法是什么?我尝试了许多组合,比如:

代码语言:javascript
运行
复制
start-job -scriptblock{".\storage\bin\storage.exe -f storage\conf\storage.conf"}
start-job -scriptblock{.\storage\bin\storage.exe} -argumentlist "-f", "storage\conf\storage.conf"

但没有成功。此外,它还应该在powershell脚本中运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-02 23:16:49

该作业将是PowerShell.exe的另一个实例,它将不会在相同的路径中启动,因此.将无法工作。它需要知道storage.exe在哪里。

您还必须在scriptblock中使用argumentlist中的参数。您可以使用内置的args数组,也可以使用命名参数。args方法需要的代码量最少。

代码语言:javascript
运行
复制
$block = {& "C:\full\path\to\storage\bin\storage.exe" $args}
start-job -scriptblock $block -argumentlist "-f", "C:\full\path\to\storage\conf\storage.conf"

命名参数有助于了解应该是什么参数。下面是它使用它们时的样子:

代码语言:javascript
运行
复制
$block = {
    param ([string[]] $ProgramArgs)
    & "C:\full\path\to\storage\bin\storage.exe" $ProgramArgs
}
start-job -scriptblock $block -argumentlist "-f", "C:\full\path\to\storage\conf\storage.conf"
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15767657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档