gpt4 book ai didi

string - PowerShell: “… ${_.Name} …”有什么问题?

转载 作者:行者123 更新时间:2023-12-03 00:52:33 25 4
gpt4 key购买 nike

为什么我不能在文本内部使用$ _,因为我可以使用其他变量?

    Get-ChildItem -Path $path -filter *.mp3 | foreach { 
$count++;
write-host "File${count}=${_.Name}";
}

我知道我可以这样写:
    Get-ChildItem -Path $path -filter *.mp3 | foreach { 
$count++;
write-host "File${count}=$($_.Name)";
}

最佳答案

编写${_.Name}时,实际上是在询问名为_.Name的变量,而不是Name变量的$_属性。

PS > ${_.Name} = "test"
PS > Get-Variable _*

Name Value
---- -----
_.Name test
$($_.Name)起作用的原因是因为 $()的意思是“先处理此问题”,因此您可以在内部指定任何内容。在这种情况下,您仅指定了变量名和所需的属性,但还可以使其更复杂,例如:
PS > $a = 1
PS > "A's value is 1(true or false?): $(if($a -eq 1) { "This is TRUE!" } else { "This is FALSE!" })"

A's value is 1(true or false?): This is TRUE!

PS > $a = 2
PS > "A's value is 1(true or false?): $(if($a -eq 1) { "This is TRUE!" } else { "This is FALSE!" })"

A's value is 1(true or false?): This is FALSE!

关于string - PowerShell: “… ${_.Name} …”有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19604949/

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