gpt4 book ai didi

powershell - 如何阻止Powershell坚持参数中的一个破折号?

转载 作者:行者123 更新时间:2023-12-04 01:47:39 24 4
gpt4 key购买 nike

似乎有人巧妙地改变了在 powershell 上解析参数开关的方式。在某些机器上,“split-path c:\x\y --parent”有效。在某些情况下它失败了。谁能告诉我a)导致差异的原因和b)我该如何阻止它?

最佳答案

开关参数在 V1 和 V2 中的工作方式应该相同(这意味着 -parent 是正确的语法)。

在你的情况下--parent应该作为字符串绑定(bind)到参数。它不应被解释为开关。您可以通过 Trace-Command 测试绑定(bind)。

Trace-Command parameterbinding -Expression { split-path c:\x\y --parent} -PSHost

更多信息:

考虑 -- : -- 后面的每个字符串被解释为参数,不管它是否看起来像一个开关。
[14]: function test { 
param([switch]$sw, [string]$str)
write-host switch is $sw
write-host str is $str
}
[15]: test 1
switch is False
str is 1
[16]: test -sw
switch is True
str is
[17]: test -- -sw
switch is False
str is -sw

关于powershell - 如何阻止Powershell坚持参数中的一个破折号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3009732/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com