6

Я хочу иметь возможность набирать "..", чтобы перейти в родительский каталог, а не "cd ..". Возможно ли это в командной строке Windows?

2 ответа2

2

Не только с cmd.exe . Даже если вы успешно создадите файл .. .bat, он не будет распознан и вызван при вводе .. и нажатии Enter .

Но вы можете достичь этого, однако. Если вы устанавливаете бесплатный инструмент AutoHotKey , следующий макрос отправляет ожидаемую команду всякий раз, когда вы нажимаете Ctrl+ (только в окне с cmd.exe в заголовке):

#IfWinActive cmd.exe

F9::
^up::Send {Esc}cd..{Enter}

F12::
^+up::Send {Esc}cd{asc 92}{Enter}

#IfWinActive

Проверено, работает хорошо.

Редактировать:

Бонус: я расширил макрос.

  • Ctrl+ или просто F9 делает cd..

  • Ctrl+Shift+ или просто F12 делает cd\

  • Я не отображал ключи между F1 и F8, потому что они уже используются в cmd.exe .

2

Да, вы можете использовать doskey.exe для этого. Это было доступно в любых последних версиях ОС (и не так уж недавно ... Дос 6.22). Всегда доступный, малоизвестный - предоставляет историю, среди других функций.
doskey ..=cd ..

C:\temp>..
C:\>

Техническая справка https://technet.microsoft.com/en-us/library/cc753867(v=ws.11).aspx

Чтобы сделать этот макрос постоянным, вам нужно настроить его через автозапуск.
Из help cmd

Если /D НЕ было указано в командной строке, то при запуске CMD.EXE он ищет следующие переменные реестра REG_SZ /REG_EXPAND_SZ, и, если присутствует один или оба, они выполняются первыми.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun

    and/or

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

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