首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从另一个ps1调用ps1

从另一个ps1调用ps1
EN

Stack Overflow用户
提问于 2018-08-31 05:44:32
回答 2查看 130关注 0票数 2

我正在从另一个ps1调用一个ps1脚本,这个脚本运行良好。现在,我想将参数从父ps1传递给子ps1。例如,master.ps1和client.ps1是两个脚本。2. client.ps1采用两个参数,我想通过master.ps1传递给它。

主脚本的代码:

代码语言:javascript
复制
    Param( 
   [Parameter(Mandatory=$True,Position=4)]
   [string]$clientid,
   [Parameter(Mandatory=$True,Position=4)]
   [string]$clientname
            )

     Invoke-Expression "$bpath\client.ps1" "$clientid" "$clientname"

错误:

代码语言:javascript
复制
 Invoke-Expression : A positional parameter cannot be found that accepts argument

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-31 05:54:36

你可以测试:

代码语言:javascript
复制
& .\YourScript.ps1 Arg1 Arg2

但是,如果希望保留Invoke-Expression,则存在其他解决方案,可以使用:

代码语言:javascript
复制
Invoke-Expression -Command ".\YourScript.ps1 Arg1 Arg2" 
票数 0
EN

Stack Overflow用户

发布于 2018-08-31 05:57:21

参数可以在单个$var中作为数组完全传递,或者如果您传递的参数很少,则应该在其前缀加上param名称。试试下面这个应该能用的

代码语言:javascript
复制
Invoke-Expression "$bpath\client.ps1" -clientid $clientid -clientname $clientname

或者您可以直接传递$var,如果您在"$var“前缀中添加了”$var“,它将变成字符串而不是param。

代码语言:javascript
复制
Invoke-Expression "$bpath\client.ps1" $clientid $clientname
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52109122

复制
相关文章

相似问题

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