Чи є спосіб зберегти історію команд cmd між сеансами?
Чи є спосіб зберегти історію команд cmd між сеансами?
Відповіді:
Перейдіть до використання PowerShell та дотримуйтесь інструкцій на наступному сайті, щоб увімкнути історію:
http://blogs.msdn.com/b/powershell/archive/2006/07/01/perserving-command-history-across-sesions.aspx
Крім того, в cmd.exe ви можете використовувати "doskey / історію" в кінці сеансу, щоб показати, що ви ввели на цьому сеансі, але немає можливості реально завантажити його в наступний сеанс.
Я знайшов два способи, жоден з яких не потребує переходу на PowerShell.
cmd.exe
але це хороша відповідь, а також clink підтримує режим ін'єкції.
cmd
його, проблем не було, дуже задоволений цим.
Збереження історії - це невеликий робочий процес - ось менш "важкий" спосіб зробити це (немає зовнішніх ліб).
Створіть файл bat / cmd, щоб налаштувати свою історію, в цьому випадку я назвав його MyEnvironment.cmd:
doskey save=doskey /history $g$g C:\CmdHistory.log
doskey quit=doskey /history $g$g C:\CmdHistory.log $T exit
doskey history=find /I "$*" C:\CmdHistory.log
cls
Потім запустіть це з "Пуск-> Виконати" (ви також можете встановити псевдонім для цього також):
cmd.exe /K C:\MyEnvironment.cmd
Кожен раз, коли я закриваю сеанс, я натискаю "кинути" - або якщо я боюся втратити історію в середині сеансу, я натискаю "зберегти". Якщо я хочу похвалитись за щось в історії, я просто натиснув "KEYWORD".
Відповідно до коментаря @ dave_thompson_085, AutoRun
функція працює добре, якщо ви не хочете використовувати /K
комутатор. Якщо ви створили ключ реєстру правильно, .cmd
або .bat
не потрібно бути %AppData%
, це може бути в тому ж місці , вона вже є.
Якщо ви використовуєте %AppData%
розташування, пам’ятайте, що cmd, ймовірно, шукатиме ваш пакетний файл у папці «Роумінг» (замість кореня AppData).
Більше інформації про функцію AutoRun
CMD: https://superuser.com/a/302553/333316
$g
вставляє a >
і $t
є роздільником команд.
>
і &&
символи безпосередньо в псевдонімі doskey?
doskey quit=doskey /history
та зберегти висновок створення макросу в логфайлі (або нічого, або повідомлення про помилку); далі закриваємо вікно (відкидаючи все). -Ви можете ^
замість цього уникнути цих персонажів , я думаю. Як ^>^>
і ^&
(... і так, вам потрібна лише одна амперсанда)