使用 Read-Host 的子表达式

使用 Read-Host 的子表达式

有人能向我解释一下为什么这不起作用吗?

Get-Item "'\\$(Read-Host 'Specify Computer')\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe'"

"'\\$(Read-Host 'Specify Computer')\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe'" | Get-Item

Write-Host 的行为正如我预期的那样......

Write-Host "'\\$(Read-Host 'Specify Computer')\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe'"

"'\\$(Read-Host 'Specify Computer')\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe'" | Write-Host

此外,如果我手动提供字符串,它可以正常工作。

 Get-Item "'\\computer\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe'"

"'\\computer\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe'" | Get-Item

在这种情况下,您是否知道为什么 Get-Item 想要将目标位置附加到当前位置?

提前致谢!

答案1

如果删除嵌套的单引号,它似乎对我有用:

Get-Item "\\$(Read-Host 'Specify Computer')\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe"

"\\$(Read-Host 'Specify Computer')\c$\Program Files (x86)\Microsoft Office\root\Office16\winword.exe" | Get-Item

如果没有,您能将您遇到的错误添加到您的问题中吗?

相关内容