powershell - 将 bool 参数传递给 powershell 脚本快捷方式

标签 powershell parameters boolean shortcut

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

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

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 参数的值发送到脚本?

最佳答案

试试这个:

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

-file要传递的参数 bool到脚本的 switch 参数尝试:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -file "C:\Program Files\MySoftware\diagnostic\DiagnosticTool.ps1" {-All:$False}

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

关于powershell - 将 bool 参数传递给 powershell 脚本快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17547200/

相关文章:

c# - 方法返回 boolean 值t> 1是什么意思?

cryptography - 使用确定性算法加密 boolean 值的最安全方法?

PowerShell 脚本将文件夹上移一级并删除先前包含的文件夹

Powershell:重命名项增量(如果存在)(多个扩展)

ruby-on-rails - 如何将一个对象的 id 传递给另一个对象的 Controller ?

boolean - Elm 返回整数而不是 Bool,编译器错误?

powershell - 使用 powershell 手动将规模集中的虚拟机数量扩展为 5

PowerShell 7;字符串到日期时间?

c++算法 - count_if对象中的第三个参数

actionscript-3 - Flash CC 中的可检查参数未获取值