История команд CMD Печать
Добавил(а) microsin   

В терминале Ubuntu сохраняется история команд. Но в терминале Windows такого функционала нет для интерпретатора команд cmd.exe. Есть ли какая-то утилита, которая поддерживает сохранение истории команд терминала cmd.exe?

В стандартном cmd.exe операционной системы Windows действительно нет функции сохранения истории между сеансами. История хранится только в памяти текущего сеанса и очищается при закрытии окна.

Однако эта проблема решается с помощью бесплатной утилиты Clink [1, 2, 3]. Она добавляет в cmd.exe функциональность bash, включая сохранение истории между сеансами.

[clink.exe]

Что делает Clink: утилита внедряет библиотеку GNU Readline прямо в командную строку Windows. Это дает вам не только сохранение истории, но и удобный поиск по ней (Ctrl+R), автодополнение (Tab) и другие "фишки" из мира Linux.

Как это работает: после установки Clink вся ваша история команд автоматически сохраняется в файл, и вы можете получить к ней доступ в любой новой сессии с помощью клавиш со стрелками вверх/вниз или команды `clink history`. Вы также можете настроить общую историю для всех сессий командой `clink set history.shared true`.

[Альтернативные варианты]

1. PyCmd [4]: расширение для cmd.exe с похожей функциональностью (сохранение истории, дополнение по Tab), но проект, судя по всему, больше не развивается активно.

2. Скрипт setcmd.bat [5]: сторонний скрипт, который добавляет сохранение истории через переменные окружения (CMD_HISTFILE). Это более сложный для настройки вариант.

3. Стандартные средства: встроенная команда `doskey /history` показывает историю текущей сессии, но не сохраняет её после закрытия окна. Вы можете вручную экспортировать её в файл: `doskey /history > C:\cmd_history.txt`.

Краткий итог: если вам нужно простое и надежное решение, то вероятно лучше установить программу Clink. Она превратит стандартную командную строку в действительно удобный инструмент.

[Ссылки]

1. vn-os / clink_extend_advance_windows_cmd_command_prompt.
2. Bash-поведение для cmd.exe site:xakep.ru.
3. Making a better, somewhat prettier, but definitely more functional Windows Command Line site:hanselman.com.
4. PyCmd.
5. CMD/BAT: Улучшение cmd.exe site:script-coding.com.