Поиск…


Вступление

PowerShell предлагает множество полезных «автоматических» (встроенных) переменных. Некоторые автоматические переменные заполняются только в особых обстоятельствах, а другие доступны по всему миру.

$ PSScriptRoot

Get-ChildItem -Path $PSScriptRoot

В этом примере извлекается список дочерних элементов (каталогов и файлов) из папки, в которой находится файл сценария.

Автоматическая переменная $PSScriptRoot равна $null если используется вне файла кода PowerShell. Если он используется внутри сценария PowerShell, он автоматически определяет полный путь файловой системы к каталогу, содержащему файл сценария.

В Windows PowerShell 2.0 эта переменная действительна только в модулях сценариев (.psm1). Начиная с Windows PowerShell 3.0, он действителен во всех сценариях.

$ Args

$Args

Содержит массив необъявленных параметров и / или значений параметров, которые передаются в блок функций, сценариев или сценариев. Когда вы создаете функцию, вы можете объявить параметры с помощью ключевого слова param или добавив список параметров, разделенных запятыми, в круглые скобки после имени функции.

В действии события переменная $ Args содержит объекты, которые представляют аргументы события обрабатываемого события. Эта переменная заполняется только в блоке Action команды регистрации событий. Значение этой переменной также можно найти в свойстве SourceArgs объекта PSEventArgs (System.Management.Automation.PSEventArgs), возвращаемого Get-Event.

$ PSItem

Get-Process | ForEach-Object -Process { 
  $PSItem.Name
}

То же, что и $_ . Содержит текущий объект в объекте конвейера. Вы можете использовать эту переменную в командах, которые выполняют действие для каждого объекта или для выбранных объектов в конвейере.

$?

Get-Process -Name doesnotexist
Write-Host -Object "Was the last operation successful? $?"

Содержит статус выполнения последней операции. Он содержит TRUE, если последняя операция выполнена успешно, и FALSE, если она не удалась.

$ ошибка

Get-Process -Name doesnotexist
Write-Host -Object ('The last error that occurred was: {0}' -f $error[0].Exception.Message)

Содержит массив объектов ошибок, которые представляют самые последние ошибки. Самая последняя ошибка - первый объект ошибки в массиве ($ Error [0]).

Чтобы предотвратить добавление ошибки в массив $ Error, используйте общий параметр ErrorAction со значением Ignore. Дополнительные сведения см. В разделе about_CommonParameters ( http://go.microsoft.com/fwlink/?LinkID=113216) .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow