【发布时间】:2021-01-29 14:06:49
【问题描述】:
我正在尝试从 Explorer 启动我的脚本。我找到了解决方案,如果脚本没有任何参数,它就可以工作。
$file = [System.IO.Directory]::GetCurrentDirectory() + "\Trees.ps1"
Start-Process powershell -verb runas -ArgumentList "-ExecutionPolicy UnRestricted -File `"$($file)`""
但是,如果我像第一个一样添加其他参数,它就会停止工作。 IE。此代码抛出“字符串缺少终止符:'。”错误。
$file = [System.IO.Directory]::GetCurrentDirectory() + "\Trees.ps1"
$Context = [System.IO.Directory]::GetCurrentDirectory()
Start-Process powershell -verb runas -ArgumentList "-ExecutionPolicy UnRestricted -Context '"$($Context)'" -File `"$($file)`""
我正在使用这种期望变量的方式:
[Parameter(Mandatory=$True)]
[string]$Context,
如何在 ArgumentList 中传递多个带有空格的变量? 我怀疑我应该以其他方式传递文件内容的参数,而不是仅传递文件名,但找不到解决方案。
【问题讨论】:
-
这些是 $context 周围的单引号,而不是反引号。
标签: windows powershell