Как использовать историю команд в Windows PowerShell
Windows PowerShell имеет встроенную функцию истории команд, которая предоставляет подробную информацию о командах, которые вы выполняли. Как и командная строка, PowerShell запоминает только историю команд для текущего сеанса..
Как использовать буфер командной строки
Технически PowerShell имеет два типа истории команд. Во-первых, это буфер командной строки, который фактически является частью графического терминального приложения PowerShell, а не частью базового приложения Windows PowerShell. Он предоставляет несколько основных функций:
- Стрелка вверх: Вспомните предыдущую команду, которую вы ввели. Нажмите клавишу несколько раз, чтобы просмотреть историю команд.
- Стрелка вниз: Вспомните следующую набранную вами команду. Нажмите клавишу несколько раз, чтобы просмотреть историю команд.
- F8Поиск в истории команд команды, соответствующей тексту в текущей командной строке. Итак, если вы хотите найти команду, которая начинается с «p», вы должны набрать «p» в командной строке, а затем несколько раз нажать F8, чтобы циклически просмотреть команды в вашей истории, которые начинаются с «a»..
По умолчанию буфер запоминает последние 50 введенных вами команд. Чтобы изменить это, щелкните правой кнопкой мыши строку заголовка окна приглашения PowerShell, выберите «Свойства» и измените значение «Размер буфера» в разделе «История команд»..
Как просмотреть историю PowerShell
Windows PowerShell сама хранит историю команд, которые вы ввели в текущем сеансе PowerShell. Вы можете использовать несколько включенных командлетов для просмотра и работы с вашей историей..
Чтобы просмотреть историю введенных вами команд, выполните следующий командлет:
Get-History
Вы можете искать свою историю, передавая полученный результат в Select-String
Командлет и указание текста, который вы хотите найти. Замените «Пример» в командлете ниже текстом, который вы хотите найти:
Get-История | Select-String -Pattern "Пример"
Чтобы просмотреть более подробную историю команд, в которой отображается состояние выполнения каждой команды, а также время ее начала и окончания, выполните следующую команду:
Get-История | Формат-Список -Свойства *
По умолчанию Get-History
Командлет показывает только 32 самых последних записи истории. Если вы хотите просмотреть или найти большее количество записей истории, используйте -подсчитывать
возможность указать, сколько записей истории PowerShell должен показывать, например так:
Get-History -Count 1000 Get-History -Count 1000 | Select-String -Pattern "Пример" История-Get -Count 1000 | Формат-Список -Свойства *
Как запускать команды из вашей истории
Чтобы запустить команду из своей истории, используйте следующий командлет, указав номер Id элемента истории, как показано Get-History
командлет:
Invoke-History #
Чтобы запустить две команды из вашей истории, используйте Invoke-History
дважды на одной строке, разделенных точкой с запятой. Например, чтобы быстро запустить первую команду в своей истории, а затем вторую, вы должны выполнить:
Invoke-History 1; Invoke-History 2
Как очистить историю PowerShell
Чтобы очистить историю введенных вами команд, запустите следующий командлет:
Чистая история
Обратите внимание, что буфер командной строки отделен от истории PowerShell. Так что даже после того, как вы бежите Чистая история
, Вы можете продолжать нажимать клавиши со стрелками вверх и вниз для прокрутки введенных вами команд. Однако, если вы запустите Get-History
, вы увидите, что ваша история PowerShell на самом деле пуста.
PowerShell не запоминает вашу историю между сессиями. Чтобы стереть обе истории команд для текущего сеанса, все, что вам нужно сделать, это закрыть окно PowerShell..
Если вы хотите очистить окно PowerShell после очистки истории, вы можете сделать это, запустив Очистить
команда:
Очистить
Как сохранить и импортировать историю PowerShell
Если вы хотите сохранить историю команд PowerShell для текущего сеанса, чтобы вы могли обратиться к ней позже, вы можете сделать это.
Get-История | Export-Clixml -Path c: \ users \ name \ desktop \ commands.xml
Это экспортирует вашу историю команд в виде подробного XML-файла со значениями «StartExecutionTime» и «EndExecutionTime» для каждой команды, которые сообщают вам, когда команда была выполнена и сколько времени потребовалось для ее завершения..
После того как вы экспортировали историю PowerShell в такой файл XML, вы (или кто-либо другой, кому вы отправляете файл XML) можете импортировать ее в другой сеанс PowerShell с помощью командлета Add-History:
История добавления -InputObject (Import-Clixml -Path C: \ users \ name \ desktop \ commands.xml)
Если вы запускаете Get-History
После импорта такого XML-файла вы увидите, что команды из XML-файла были импортированы в историю текущего сеанса PowerShell..