Как вывести предопределенную переменную из командной строки 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
, вы поймете, что он пуст. Вот почему это, кажется, не работает для вас.