Есть ли способ автоматически сохранить историю команд в файл cmd.exe, похожий на bash_history? - PullRequest
9 голосов
/ 03 марта 2012

Я знаю, что можно сделать

doskey /history 

для сохранения истории команд в определенный момент времени, но мне интересно, есть ли способ предварительно сохранить историю команд в файл, поскольку команды выдаются.

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

Я бы хотел сказать что-то вроде:

log Commands.log

, а затем введите мои команды и сохраните команды в Commands.log.

1 Ответ

6 голосов
/ 03 марта 2012

Вы можете создать макрос doskey для переназначения команды EXIT следующим образом:

doskey exit=doskey/history$g$gc:\temp\commands.log$texit $1 $2

Это добавит содержимое вашей истории команд в файл с именем "c: \ temp \ commands.log"каждый раз, когда вы выходите из приглашения, набирая «exit».

ВНИМАНИЕ: Я не проверял потенциальные побочные эффекты при использовании этого параметра с параметрами «/ B exitCode» EXIT, но там не должно бытьв любом случае, поскольку вы фиксируете параметры с помощью $ 1 $ 2.

Это не совсем то, что вы ищете, но оно фиксирует историю команд, пока вы выходите с помощью EXIT.(вместо простого закрытия окна).

Более подробную информацию и примеры макросов DOSKEY можно найти здесь: http://technet.microsoft.com/en-us/library/bb490894.aspx

...