Как вывести предопределенную переменную из командной строки PowerShell?

Я могу Write-Host пользовательская переменная из командной строки PowerShell, но предопределенные переменные не работают таким же образом.

Как правильно выводить предопределенную переменную.

Write-Host $path работает.
Write-Host $PSScriptRoot не.

Вот мой код

powershell.exe -ExecutionPolicy ByPass -Command "& { $path = """test"""; Write-Host $path; Write-Host $PSScriptRoot; }"

Я хотел бы иметь родительский каталог текущего скрипта в качестве переменной.

Что-то вроде этого $RootPath = Split-Path (Split-Path $PSScriptRoot -Parent) -Parent,

1 ответ

Если текущее местоположение - то, что вы хотите, это всегда работало для меня.

(Get-Location).path

Если вы также хотите узнать о других предопределенных переменных, Write host должен работать.

Get-Variable или просто Variable отобразит все предопределенные переменные. Если вы посмотрите на $PSScriptroot, вы поймете, что он пуст. Вот почему это, кажется, не работает для вас.

Другие вопросы по тегам