Назад | Перейти на главную страницу

Подвыражение с использованием 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 хочет добавить целевое местоположение к текущему в этой ситуации?

Заранее спасибо!

Мне кажется, это сработает, если вы удалите вложенные одинарные кавычки:

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

Если нет, можете ли вы добавить ошибку, которую вы получаете, к своему вопросу?