4

我编写了一个带有 bool 参数的 powershell 脚本我也有这个 powershell 脚本的 windows 快捷方式。问题是,每当我尝试从快捷方式运行脚本时,参数都会被解释为字符串,而不是布尔值,并且脚本会崩溃。

这是我最初放置在快捷方式的目标部分下的内容:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" $true

我在网上搜索了解决方案并尝试了以下选项:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" -copyAll:$true

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" -copyAll:`$$true

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" "`$$true"

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -File "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" `$$true

以及多种这样的变化。

这是我的问题:从 Windows 快捷方式运行 a 时,有没有办法将 bool 参数的值发送到脚本?

4

1 回答 1

5

试试这个:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command "& 'C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1'" -copyAll:$true

使用-file参数传递bool给脚本的开关参数尝试:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" {-All:$False}

最后一个取自TechNet,但老实说,我永远无法使用它。

于 2013-07-09T12:14:23.560 回答