Есть ли лучшая оболочка командной строки Windows?
CMD.EXE создает для меня много проблем. У меня Cygwin установлен и регулярно используется bash, и у меня также есть оболочка mingwin bash, которая поставляется с mSysGit, но иногда мне действительно нужно запускать вещи из оболочки Windows.
Есть ли замена оболочки Windows, которая:
- имеет постоянную историю командной строки, доступную на следующем сеансе после закрытия сеанса? (как в bash HISTFILE)
- помнит, какой каталог я был только что, чтобы я мог переключаться между двумя каталогами? (как в bash cd -)
(Или есть способ включить эти функции в CMD.EXE?)
Я вижу, что некоторые спрашивали о лучшей оболочке Windows перед, но они спрашивали о вырезании и вставке, которая ниже для меня в данный момент ниже. Это не консоль, которая убивает меня, это интерпретатор командной строки.
Ответы
Ответ 1
Мне всегда нравилось 4NT (не использовали его какое-то время).
Это расширенный интерпретатор команд для окон, и он в основном обратный совместим (это означает, что вы можете запускать обычные пакетные файлы Windows). Единственная причина не использовать его в том, что он не поставляется с Windows, как это делает command.exe по умолчанию.
По сравнению с интерпретатором командной строки Windows по умолчанию он имеет лучшие механизмы управления потоком. Доступны все стандартные средства командной строки Windows, но с дополнительными параметрами и параметрами.
В основном это должно было быть CMD.exe.
Обновление: похоже, что он больше не называется 4NT, но TakeCommand:
http://jpsoft.com/products.htm
Ответ 2
Microsoft только что выпустила Powershell. (около 2 лет назад)
Я уже загрузил его; не пробовал много, но кажется хорошим инструментом.
Ответ 3
Я тоже использую Powershell. Это отличная оболочка, похожая на Linux, но объектно-ориентированная расширяемая структура. Прохладный не только для системных администраторов, но и для разработчиков (процесс сборки и т.д.). Скалы Powershell bash или другие конкуренты Linux:)
Основные приключения:
- Расширяемый с языками .NET
- Использование объектов .NET (DateTime, File и т.д.)
- Простой и понятный синтаксис
- Remoting
- Debug
- Степные трубопроводы
- ...
Больше отсюда:
http://blogs.msdn.com/powershell/default.aspx
http://windowsteamblog.com/blogs/windowsvista/archive/2006/11/14/it-forum-day-one-windows-vista-and-windows-powershell.aspx
http://blogs.msdn.com/powershell/archive/2007/11/06/what-s-new-in-ctp-of-powershell-2-0.aspx
Ответ 4
Другим блестящим решением является "Clink", который улучшает CMD.exe с постоянной историей и многими другими функциями BASH. Просто установите его, а затем откройте CMD как обычно.
См.: http://code.google.com/p/clink/
Или, если вы действительно хотите, чтобы "cd -" работал с вами в предыдущем каталоге, установите "TCC/LE" бесплатную версию из http://jpsoft.com, как указано в Уутер и Питер.
Ответ 5
попробуйте console2:
http://sourceforge.net/projects/console/
Мне нравится
Ответ 6
PyCmd соответствует вашим требованиям! И он построен поверх cmd.exe...
- история команд сохраняется в сеансах PyCmd
- история недавно посещенных каталогов (Alt-Left/Right/D на пустой строке)
Здесь у вас есть список функций http://sourceforge.net/projects/pycmd/files/pycmd/0.8/
Ответ 7
PowerShell, я бы сказал. Это новая официальная оболочка Microsoft для администрирования командной строки.
Я сам использую его для задач разработки и люблю его. Это дает вам возможность взаимодействовать с классами .NET Framework непосредственно в командной строке, что может быть очень мощным.
Ответ 8
PowerShell работает очень хорошо, когда вы делаете свое дело в PowerShell. Например, когда вы хотите общаться с приложениями .NET и файлами Windows. Он отлично подходит для сценариев, поскольку синтаксис намного приятнее, чем в Bash...
Но когда вы хотите работать с некоторыми типичными UNIX-приложениями, вы можете легко попасть в проблему, когда PowerShell конвертирует все ваши строки LF в CRLF (и даже не думает о бинарных файлах).
Только мой опыт.
Ответ 9
pushd и popd могут использоваться для навигации по каталогам и из них.
c: > pushd windows
C:\Windows > POPD
C:\
Ответ 10
Тогда есть PowerShell! Не пробовал, но я слышал много приятных вещей об этом.
Ответ 11
Другие уже упомянули Powershell и 4NT, оба они намного лучше, чем CMD
, и все его тайные синтаксисы, отсутствие документации и часто удивительная неспособность выполнять практически любую задачу, которую вы можете использовать для:)
-
4NT теперь входит в набор для управления файлами Take Command
GUI, но владельцы сделали только часть оболочки, доступную сама по себе, она называется TCC/LE сейчас и теперь также бесплатна! Для большинства людей я бы сказал, чтобы использовать это - это самая легкая кривая обучения, имея в основном совместимый синтаксис CMD
, имея много ресурсов в сети и способный делать 80% задач файловой системы отлично.
Загрузка TCC/LE
-
Для людей с более неясными потребностями, выполнения большого количества администрирования или большей гибкости попробуйте Powershell - это крутая начальная кривая обучения, но она внутренне очень последовательна, и как только вы выясните основы, к которым вы можете получить доступ и работают на 99,9% всего, что Windows обрабатывает, используя тот же набор инструментов и методов, даже выполняя его по сети на других машинах. Даже изучение основ (сортировка, выбор,% и?) Лучше, чем CMD
уже...
Руководство пользователя PowerShell
Примеры PowerShell
-
Если вы более технически настроены, я бы рассмотрел IPython - по сути, это консоль для написания и выполнения кода Python, но она также очень удобно работает как оболочка (и система управления задачами) - это имеет закладки, псевдонимы, вкладку завершения кода/файлов, может смешивать команды кода и оболочки, например files=!dir *.txt
сохраняет вывод dir *.txt
, настраиваемый журнал ввода и/или выходов, может повторять блоки прошлых команд, экспортировать их или создавать макросы и имеет расширения, которые могут его настроить больше.
IPython как оболочка
Определенно не для слабонервных, а очень мощная среда, если вы знаете Python!
Ответ 12
Я использую cygwin. Это реализация posix для Windows. Таким образом, вы можете запускать UNIX-подобные программы в Windows. Терминал по умолчанию bash, который намного более продвинут, чем Windows cmd.