2

Есть ли команда изменить текущий каталог на каталог по умолчанию? (Я не спрашиваю о постоянном изменении каталога по умолчанию, здесь!)

Например, если текущим каталогом является «..\xyz», а каталогом командной строки по умолчанию является D:\Abc, есть ли способ перейти непосредственно к D:\Abc (без указания> cd D:\Abc)?

6 ответов6

3

Для этого нет встроенного в cd , но вы наверняка можете создать файл сценария .cmd , который это делает. Например, вы можете поместить это в файл home.cmd где-нибудь в вашем поисковом PATH и перейти к D:\Abc просто набрав home:

@ echo off
cd /D D:\Abc
3

Там нет встроенной команды, но почему бы не создать свою собственную, например, dd (Default Directory)? Просто сохраните следующую команду в файле пакета / сценария в любом месте, например, C:\Macros.bat или C:\Macros.cmd:

@doskey dd=cd /d D:\Abc

Теперь в реестре (Regedit.exe) перейдите к:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor

Создайте строковое значение (REG_SZ) или раскрываемое строковое значение (REG_EXPAND_SZ) с именем AutoRun и установите для него значение C:\Macros.bat (или .cmd в зависимости от обстоятельств).

То же значение AutoRun также можно добавить к:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

Все команды, указанные в значении автозапуска HKLM, будут выполняться раньше, чем в аналоге HKCU. Смотри cmd /? для большего.

Теперь каждый раз, когда вы открываете экземпляр / окно cmd.exe, Macros.bat (или .cmd) будет выполняться автоматически, и в результате будет (повторно) создан псевдоним команды DOSKey. Таким образом, вы можете просто ввести новую команду dd, чтобы перейти к указанному каталогу по умолчанию.

2
cd %HOMEPATH%

Хотя создание пакетного файла, как упоминает Николь, возможно, проще.

2

Хорошо, если ваша командная строка начиналась с D:\Abc и вам нужно всего лишь находиться в ..\xyz для нескольких команд, используйте команды pushd и popd . Вот пример пакетного скрипта:

@echo off
echo.Im at this directory: %CD%
pushd "..\xyz"
echo.Im now at this directory: %CD%
popd
echo.Im back at this directory: %CD%
pause

В противном случае вам нужно будет использовать команду cd чтобы изменить текущий каталог. Это работает только для пакетного сценария.

@echo off
echo.Im at this directory: %CD%
cd "..\xyz"
echo.Im now at this directory: %CD%
cd "%~dp0"
echo.Im back at this directory: %CD%
pause

Обратите внимание, что «% ~ dp0» вернет вас в исходный каталог, в котором запущен пакетный скрипт.

1

Это универсальная команда для создания "домашнего" командного инструмента на любом компьютере с Windows.

Нажмите Win R и введите следующую команду:

CMD /C ((SETLOCAL ENABLEDELAYEDEXPANSION &ECHO ^@ECHO OFF &ECHO ECHO Changing to "home" directory... 1^>CON&ECHO CD /D %%USERPROFILE%%)1>"%SYSTEMROOT%\home.cmd")
1

Я знаю, что опоздал на игру, но я хотел бы опубликовать свое решение для всех, кто сталкивается с этим вопросом (как я). Я создал простое руководство, о котором никто не упомянул, и это более легкая и более прямая IMO. Проверьте это:Spiceworks - Изменить каталог по умолчанию

  1. Откройте расположение командной строки.

    На начальном экране / в меню введите "cmd", щелкните его правой кнопкой мыши и выберите "Открыть местоположение файла".

  2. Откройте свойства командной строки и измените свойство "Пуск в".

    Щелкните правой кнопкой мыши значок "Командная строка", выберите "Свойства" и отредактируйте свойство "Начать с" по своему желаемому пути.

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