You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本中如何用相对路径点源脚本并传递参数

点源PowerShell脚本并传递参数的正确方法

你遇到的问题是点源同目录脚本时无法传递参数,核心是参数的位置写错了,以下是两种正确的写法:

写法一(推荐,可读性更高)

直接将脚本路径(用引号包裹避免路径含特殊字符时出错)和参数分开写:

. "$PSScriptRoot\header.ps1" -PROJECTNAME 'LunchBox' -SCRIPTNAME 'MyLunch.ps1'

写法二(适合路径需要动态计算的场景)

如果路径是通过表达式计算得到的,把路径放在括号里,参数跟在括号外面即可:

. ($PSScriptRoot + '\header.ps1') -PROJECTNAME 'LunchBox' -SCRIPTNAME 'MyLunch.ps1'

错误写法的问题

你之前的不可运行写法,错误地把参数和路径表达式放在了同一个括号内,PowerShell会将整个括号内容当作一个字符串表达式解析,无法识别后面的参数语法。点源运算符(.)的逻辑是:先指定要加载的脚本路径,再跟参数列表,两者不能混在同一个表达式里。

另外你header.ps1里的参数定义是规范的,带[CmdletBinding()]的param块完全支持这种命名参数传递方式,只要参数位置正确就能正常生效。

内容的提问来源于stack exchange,提问作者Liang Cui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 10:32:04