PowerShell引用了Start-Process ArgumentList

时间:2015-05-29 08:11:21

标签: powershell quotes

我正在尝试让应用tablacus explorer打开文件夹路径。这适用于以下格式:

SmtpAppender

但是我真的希望在变量($ex = 'S:\Tools\explorer\TE64.exe' Start-Process $ex -ArgumentList '"Tabs,Close other tabs" "Open,C:\Program Files"' )中使用路径,而我似乎无法正确获取引号以便正确解释。

感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

我在MS Blog上找到了两个解决方案:

$Args = @"
"Tabs,Close other tabs" "Open,$dir"
"@

start $ex -ArgumentList $Args

start $ex -ArgumentList """Tabs,Close other tabs"" ""Open,$dir"""

答案 1 :(得分:0)

我发现有时你需要另一级报价。

在我的情况下,我必须在-Arguments /v中设置变量,因此我必须使用\""来执行此操作。

Start-Process `
  -FilePath "Installer.exe" `
  -Arguments "/s /qn /v""SOME_PARAM1=\""STRING_IN_PARAM\"" SOME_PARAM2=\""STRING_IN_PARAM\"""
  -Wait ;

答案 2 :(得分:0)

如果您的参数是常量字符串,则创建一个快捷方式并调用它。

将快捷方式的“目标”设置为:

"S:\Tools\explorer\TE64.exe" "Tabs,Close other tabs" "Open,C:\Program Files"

将快捷方式命名为“ TE64”,并在powershell中这样调用它:

start-process S:\Tools\explorer\TE64.lnk

答案 3 :(得分:0)

以下语法对我来说很好,请尝试以下操作:

-ArgumentList "\`"$($variable)\`""