2012-03-03 2 views
9

Я знаю, что можно сделатьЕсть ли способ автоматически сохранить историю команд в файл в cmd.exe, как и bash_history bash?

doskey /history 

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

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

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

log Commands.log 

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

ответ

6

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

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

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

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

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

Более подробная информация и образцы на Doskey макрокомандах здесь: http://technet.microsoft.com/en-us/library/bb490894.aspx

+0

Команда работает хорошо, но вы должны указать каталог, который уже существует - это не будет создавать каталоги для вас. Из того, что я могу сказать, заключается в том, что этот макрос сохраняется только во время текущей сессии dos. Поэтому вам нужно будет вводить его каждый раз при открытии командной строки. – icc97

+1

Если вы создаете ярлык со следующей целью: '% windir% \ system32 \ cmd.exe/K doskey exit = doskey/history $ g $ g% USERPROFILE% \ commands.log $ texit $ 1 $ 2' this a) следует за unix концепция сохранения его в вашем домашнем каталоге, b) эта команда запускается, когда вы запускаете этот короткий отрезок, чтобы вам не приходилось вводить его каждый раз – icc97

Смежные вопросы