use*_*227 8 powershell start-process
我的PS脚本我希望能够通过执行以下操作在另一个PS实例中运行另一个脚本:
$filepath = Resolve-Path "destruct.ps1"
start-process powershell.exe "$filepath"
Run Code Online (Sandbox Code Playgroud)
destruct.ps1与此脚本位于同一文件夹中
但是,当在包含空格的位置("C:\ My Scripts \")中运行此脚本时,我将收到以下错误:
术语"C:\ My"未被识别为cmdlet,函数,可操作程序或脚本文件.验证该术语,然后重试.
我知道通过使用带有Invoke-Expression方法的'&'来解决这个问题,我怎么能这样做但是通过使用start-process方法?
非常感谢您的帮助!
CB.*_*CB. 12
试试这个:
start-process -FilePath powershell.exe -ArgumentList "-file `"$filepath`""
Run Code Online (Sandbox Code Playgroud)
评论后编辑:
start-process -FilePath powershell.exe -ArgumentList "-file `"$($filepath.path)`""
Run Code Online (Sandbox Code Playgroud)
边注:
$filepath是一种[pathinfo]类型,而不是一种[string]类型.
您可以添加转义双引号,以便传递带引号的参数:
"`"$filepath`""
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31909 次 |
| 最近记录: |