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

Есть ли глобальная постоянная история CMD?

Иногда я забываю, как выглядит точный синтаксис команды CMD, и тогда я хотел бы поискать свою собственную историю CMD. Очевидно, что в рамках одного сеанса вы можете просматривать его с помощью клавиш со стрелками вверх и вниз, но как насчет истории предыдущих сеансов CMD? Есть ли файл, журнал, в который записывается история, или все это уходит в цифровую Нирвану?

Спасибо!

Не изначально, но проверьте: http://mridgers.github.io/clink/ , делает cmd.exe намного более продуктивным. Особенности цитирования со страницы проекта:

Powerful Bash-like line editing from GNU's Readline library.
Superior path completion (TAB).
Paste from clipboard (Ctrl-V).
Support for the completion of executables/commands, and environment variables.
Undo/Redo (Ctrl-_ or Ctrl-X, Ctrl-U)
Improved command line history.
Persists across sessions.
Searchable (Ctrl-R and Ctrl-S).
History expansion (e.g. !!, !<string>, and !$).
Scriptable completion using Lua.

Нет, историю командной строки Windows нельзя сохранить после завершения сеанса.

Массимо прав в том, что история вашей командной строки не сохраняется между сеансами. Вы можете вручную захватить это, прежде чем закрыть приглашение, набрав doskey / история> history.txt

Или ... вы могли бы использовать PowerShell в качестве подсказки CMD и следуйте эта почта для сохранения вашей истории между сеансами.

Ты можешь использовать звякнуть.

Clink сочетает в себе встроенную оболочку Windows cmd.exe с мощными функциями редактирования командной строки библиотеки GNU Readline, которая обеспечивает широкие возможности завершения, истории и редактирования строк.

Самый простой способ установить клинк - использовать шоколадный. После того, как вы установите шоколадный, вы можете установить clink, набрав

choco install clink

Начиная со следующего запуска cmd.exe, он должен сохранять историю сеансов.

Есть возможность сохранить текущую историю в файл,

`$ doskey /history > somefile.txt`

Но, похоже, нет возможности загрузить это как историю. Для загрузки и выполнения всех строк можно использовать только аргумент командной строки,

cmd.exe /K somefile.txt

, что может быть полезно для загрузки списка макросов doskey. Этот вызов может быть включен в ярлык, поэтому вам не нужно вводить его каждый раз; в этой ссылке есть дополнительная информация об этом подходе.

Есть аналогичный вопрос на суперпользователе которые предлагают некоторые альтернативы, в том числе звякнуть, как предлагает @RobertBak.

История команд: чтобы включить историю команд (к которой можно получить доступ с помощью клавиш со стрелками вверх и вниз), просто выполните doskey в командной строке. Например, чтобы создать историю команд из 100 элементов:

doskey /listsize=100

ссылка:https://users.cs.jmu.edu/bernstdh/web/common/help/ntshell.php

звякнуть приятно, и автор публикует шоколадный пакет для каждого выпуска, однако я бы посоветовал DeepBlueCLI.

Ты можешь использовать https://github.com/sans-blue-team/DeepBlueCLI для установки идентификатора события безопасности Windows 4688.

Для PowerShell DeepBlueCLI также использует ведение журнала модуля (событие PowerShell 4013) и ведение журнала блока сценария (4104). Он не использует транскрипцию.

Дополнительным преимуществом является то, что он регистрирует хэш исполняемого файла командной строки в журнале событий AppLocker. Источник: https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing

Кроме того, поскольку это решение использует инфраструктуру журнала событий Windows, вы можете запрашивать его через WMI или PowerShell. Get-EventLog. С помощью clink вам необходимо изучить другой инструмент, чтобы обнаруживать системные или общесетевые модели поведения.

Чтобы сохранить историю команд:

doskey /history > history.dos

Для ссылки на команды:

cls & type history.dos | find /v /n ""

Этот метод не изменит историю команд текущего сеанса

Чтобы добавить историю команд текущего сеанса в последний файл сохранения:

doskey /history >> history.dos