저는 Powershell을 처음 접했고 큰따옴표로 묶인 문자열에서 개체 속성 값을 확장하는 데 문제가 있습니다. 누군가 나에게 이것을 설명해 주실 수 있습니까? "$(var.attr)"라고 쓰실 것으로 예상하지만 실패합니다. 문제를 설명하는 샘플은 다음과 같습니다.
PS C:\WINDOWS\system32> $c = Get-Volume -DriveLetter 'C'
PS C:\WINDOWS\system32> $c.Size
126696288256
PS C:\WINDOWS\system32> "$c.size"
MSFT_Volume (ObjectId = "{1}\\KEPPLAPTOP3\root/Microsoft/Windows...).size
PS C:\WINDOWS\system32> "$(c.size)"
c.size : The term 'c.size' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:4
+ "$(c.size)"
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (c.size:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
보시다시피 $c 객체의 Size 속성을 쉽게 표시할 수 있습니다. 큰따옴표로 묶인 문자열이 아닌 경우 괄호 없이 확장하려고 하면 객체만 확장되지만 괄호 안에 object.attr을 포함하면 표현을 인식할 수 없습니다. 여기서 내가 뭘 잘못하고 있는 걸까요?