![Ярлык командной строки, указывающий на определенную папку](https://rvso.com/image/1267768/%D0%AF%D1%80%D0%BB%D1%8B%D0%BA%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8%2C%20%D1%83%D0%BA%D0%B0%D0%B7%D1%8B%D0%B2%D0%B0%D1%8E%D1%89%D0%B8%D0%B9%20%D0%BD%D0%B0%20%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D0%B5%D0%BD%D0%BD%D1%83%D1%8E%20%D0%BF%D0%B0%D0%BF%D0%BA%D1%83.png)
Как создать ярлык на рабочем столе, который открывает командную строку (cmd) в определенной папке? Мне надоело переходить из домашнего каталога в каталоги разработки.
решение1
Создайте ярлык, а затем щелкните правой кнопкой мыши, чтобы открыть диалоговое окно свойств, и установите свойство «Начать с:» в соответствии с вашей папкой.
Если вы запускаете ярлык от имени администратора, вам следует добавить желаемый путь к цели (вместо «запускать в»), например:
%windir%\System32\cmd.exe /k cd c:\crp
или
%windir%\System32\cmd.exe /k pushd c:\crp
поскольку значение «start in» игнорируется при запуске от имени администратора (все заслуги принадлежат@barlopдля ихотвечатьи@Т_Ддля ихкомментарий)
решение2
Или вы можете просто использовать целевую строку, подобную этой:
C:\Windows\system32\cmd.exe /k "c: & cd c:\drv\bat"
Очевидно, C:\Windows\System32\cmd.exe
что нужно запустить cmd
. /k
Выполняет команду по строке и продолжает. Строка — это "c: & cd c:\drv\bat"
. Внутри строки c:
просто меняет букву диска. Связывает &
обе команды вместе. А cd c:\drv\bat
— это, по сути, смена каталога. Также следует отметить, что cd c:\drv\bat
также должен менять диски.
решение3
Конечно, есть несколько способов содрать шкуру с этого кота.
Пакетный файл также может сделать это за вас. Это запустит вас в каталоге Program Files на диске C:
@ECHO OFF
CD /D "C:\Program Files\"
CMD
Особенно обязательно используйте /D
переключатель, если вы переходите на другой диск, а не на тот, с которого CMD обычно запускает вас.
TheОткройте командное окно здесьPowerToy для Windows XP также весьма удобен для перехода прямо из сеанса Проводника в консоль CMD в определенном каталоге.
Вы можете использовать строковое значение AutoRun в одном из следующих ключей реестра, чтобы по сути автоматизировать вышеизложенное длявсеСеансы КМД.
Только для вашего аккаунта:
HKCU\SOFTWARE\Microsoft\Command Processor\
Для всех пользователей на этом компьютере:
HKLM\SOFTWARE\Microsoft\Command Processor\
Если значение AutoRun не существует, создайте его как тип REG_SZ (также известный как String Value). Для данных вы можете либо указать путь к пакетному файлу, как указано выше (удалите строки ECHO и CMD), либо просто вставить команду CD, как показано в примере выше.
Преимущество указания реестра на пакетный файл вместо простого добавления команды заключается в том, что вы можете добавить в пакетный файл столько команд AutoRun, сколько захотите. Таким образом, вы можете создавать пользовательские форматы приглашений или скриптовать другие задачи, которые вы хотите выполнять при каждом запуске CMD.
Однако, если вы вносите эти изменения в реестр, следует помнить, что они могут повлиять на поведение других пакетных файлов. В частности, пакетные файлы могут оказаться не запущенными в том каталоге, для которого они изначально были написаны.
Как всегда, сделайте резервную копию реестра перед внесением непроверенных изменений.
решение4
Ответ Insurgence не сработал у меня, а этот сработал. Для меня я хотел запустить командную оболочку cmd, запустить пакетный файл node vars, а затем изменить dir на корень моего репозитория (c:\source\myproject). Вот команда, обратите внимание на двойные кавычки:
cmd /k ""C:\Program Files\nodejs\nodevars.bat" && cd \source\overlay"
Кроме того, чтобы сделать что-то действительно необычное и запустить Angular, я использую:
cmd /k ""C:\Program Files\nodejs\nodevars.bat" && cd \source\overlay && ng serve -o"