26

Существует ли эквивалентное нажатие клавиши для выхода из командной строки в Windows (запускается через Пуск-> Выполнить: cmd) в режиме ожидания bash от Ctrl- d, чтобы избежать необходимости ввода exit для выхода из оболочки?

6 ответов6

18

Нет. Ctrl D на * nix генерирует EOF, который различные оболочки интерпретируют как текущий exit . Эквивалентом EOF в Windows является Ctrl Z, но cmd.exe не интерпретирует это специально при вводе в командной строке.

10

Альт - Космос. Тогда С.

Да, это немного медленнее, чем Ctrl - D. Но это ответ именно на то, что вы просите: встроенная эквивалентная последовательность нажатий клавиш, которая позволяет вам выйти из приглашения без необходимости ввода команды exit . Никакое стороннее программное обеспечение не требуется.

Это может не работать абсолютно идентично bash: bash будет выходить только из пустой командной строки. В Windows это может закрыть окно, даже если вы уже набрали на нем частичную команду.

3

Вы можете использовать DOSKEY для создания макросов в CMD.exe.

Чтобы создать тип макроса:

DOSKEY [macroname]=[command(s)]

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

Пример:

DOSKEY e=exit

привяжут e к команде exit поэтому при вводе e приглашение к вводу было бы , как вы вводите exit

Я не уверен, что вы можете использовать комбинации CTRL - $ n в качестве макросов

3

Исправлен автоглючный подход. (Я не могу добавить комментарий.)

#IfWinActive, ahk_class ConsoleWindowClass
  ^d::
    ; First send ESC, in case we're in select mode.
    Send {Esc}{Esc}exit{Enter}
#IfWinActive
1

В настоящее время существует проект с открытым исходным кодом под названием clink по адресу http://code.google.com/p/clink/ (редактировать: он перемещен на http://mridgers.github.io/clink/) - он предоставляет функциональность Unix readline для командная строка Windows.

Он поддерживает большинство функций, включая редактирование в командной строке, поиск в истории, завершение табуляции вместе со скриптами завершения и т.д. Стоит проверить, что делает cmd менее эффективным. ;]

0

Вы можете получить тот же эффект с помощью этого фрагмента AutoHotKey :

; Close Command Prompt when pressing Ctrl+D
#IfWinActive, Command Prompt$
  ^d::
    ; First send ESC, in case we're in select mode.
    Send {Esc}{Esc}exit{Enter}
#IfWinActive

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .