90

Я привык к использованию

cd ~

чтобы попасть прямо в мой домашний каталог. В командной строке Windows я должен сделать

cd Users\username

попасть туда. Есть ли ярлык как у Linux? Было бы неплохо, если бы я мог попасть туда, делая

cd username

Возможно ли что-то подобное в Windows Vista?

11 ответов11

139

Да, вы можете использовать %HOMEPATH% , который является полным путем к домашнему каталогу пользователя.

Существует довольно много других полезных переменных, таких как %OS% (Операционная система) или %WINDIR% (системный каталог Windows). См. Wikipedia: Переменные среды для списка.


Примечания:

На самом деле, все немного сложнее (как обычно). %HOMEPATH% содержит только путь, без буквы диска, так что не будет работать на cd - диск ИНГ с другого диска. Вы можете также %USERPROFILE% что действительно содержит букву диска, и, как правило , в этом же %HOMEPATH%

Значения этих переменных и то, какая из них подходит вам, будут зависеть от версии Windows и любых изменений, внесенных администратором, поскольку их значения могут отличаться (см., Например, вопрос Разница между профилем и домашним путем ).

19

Две другие опции, которые могут быть добавлены в скрипт и автоматически выполнены аналогично ответу BillP3rd.

Это еще два персонажа, но ...

SET ~=%HOMEPATH%    
CD %~%

или же...

CD %~%\Desktop

Или же...

doskey ~=cd %homepath%
~

Конечно, вы не можете использовать это ~ в путях, но для быстрого перехода к моей домашней директории наберите ~ Enter довольно быстро.

18

Вы всегда можете поместить .bat-файл где-нибудь в вашем% PATH%, который изменяет путь для вас.

8

Я создал файл .cmd в каталоге на моем пути и назвал его «cd ~ .cmd». Его содержимое:

@cd %HOMEPATH%

Таким образом, я могу набрать «cd ~» из любого места, чтобы попасть в мой домашний каталог. Не то же самое, что "cd ~" (обратите внимание на отсутствующее место), но достаточно близко для меня.

6

Ответ Слеске почти верен , но он не всегда работает.

Если ваш домашний каталог находится в сетевой папке, настроенной как подключенный диск, запустите следующее независимо от диска текущего каталога:

cd /D %HOMEDRIVE%%HOMEPATH%

Переключатель /D необходим для того, чтобы cd мог менять диски.

5

Есть ли ярлык для C:\Users\<current user>\?

Там нет прямого ярлыка.

Есть несколько разных решений (см. Ниже).

  1. Используйте переменную окружения вместе с cd или cd /d

  2. Используйте subst или net use для создания сопоставления с другой буквой диска.

  3. Установите cygwin и используйте bash

  4. Используйте powershell - powershell поддерживает ~

Последнее решение, вероятно, самое простое, если вы готовы использовать powershell вместо cmd .


Решение 1. Используйте переменную окружения вместе с cd или cd /d

Если вы хотите регулярно переходить в этот каталог, выполните следующую команду:

setx DOCS %USERPROFILE%

Это навсегда установит переменную окружения DOCS , но для ее использования необходимо сначала запустить новую оболочку cmd , затем переменная определена и готова к использованию:

F:\test>echo %DOCS%
C:\Users\DavidPostill\

Чтобы изменить каталог из любого места, используйте следующую команду:

cd /d %DOCS%

Если вы уже находитесь на диске c: вы можете просто использовать:

cd %DOCS%

Создайте командный файл (docs.cmd) и поместите его где-нибудь в вашей PATH .

docs.cmd:

@echo off
cd /d %DOCS%

Затем вы можете просто ввести docs независимо от вашего текущего местоположения, и вы попадете в C:\Users\<current user>


Решение 2. Используйте subst или net use для создания сопоставления с другой буквой диска.

Вы можете использовать subst:

subst x: %USERPROFILE%

А потом

x:

К сожалению, сопоставления дисков не сохраняются при перезагрузке.

net use будет сохраняться при перезагрузке, например:

net use x: "\\computerName\c$\pathName" /persistent:yes

См. Ответы в разделе Как сделать сопоставление SUBST постоянным при перезагрузках? для подробных инструкций.


Решение 3. Установите cygwin и используйте bash

Вы можете рассмотреть возможность установки Cygwin:

Cygwin это:

  • большая коллекция инструментов GNU и Open Source, которые предоставляют функциональность, аналогичную дистрибутиву Linux в Windows.

После того, как вы установили cygwin, вы можете запустить bash в терминале cygwin и установить переменную окружения bash HOME соответствующим образом.

Альтернативы cygwin включают в себя msys (MingW):

MSYS - это набор утилит GNU, таких как bash, make, gawk и grep, позволяющих создавать приложения и программы, которые зависят от традиционных инструментов UNIX. Он предназначен для дополнения MinGW и недостатков оболочки cmd.

И Git для Windows:

Git для Windows предоставляет эмуляцию BASH, используемую для запуска Git из командной строки. * Пользователи NIX должны чувствовать себя как дома, поскольку эмуляция BASH ведет себя так же, как команда "git" в средах LINUX и UNIX.


Решение 4. Используйте powershell

Как указано в комментарии к другому вопросу, который поддерживает SBI powershell ~ вы можете просто набрать:

cd ~

Дальнейшее чтение

  • Индекс AZ командной строки Windows CMD - Отличный справочник по всем вопросам, связанным с командной строкой Windows.
  • CD - Изменить каталог - Выбрать папку (и диск)
  • setx - постоянная установка переменных среды, SETX может использоваться для установки переменных среды для машины (HKLM) или для пользователя, вошедшего в систему (HKCU).
  • subst - замена буквы диска для сети или локального пути.
3

Не знаю, если это особенность нашего рабочего сценария входа или Windows по умолчанию, но я могу использовать cd% HOMEPATH% для достижения этого, где HOMEPATH - это переменная окружения.

1

Если вы хотите, чтобы все пользовательские команды запускались в их "домашнем" каталоге, создайте следующий раздел реестра в качестве расширяемого строкового значения (без кавычек, конечно):

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Если вы хотите, чтобы только ваша команда предложила это сделать:

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun : "cd /d %USERPROFILE%"

Я практикую хранить папку ac:\Scripts, в которой я храню командный файл типа "autoexec", который я вызываю с помощью этого ключа.

1

Я понимаю, что это давний вопрос, но только для протокола. Установите clink, это расширяет вашу командную строку во многих отношениях. Да, это тяжелее, чем вышеупомянутые решения, но это заставляет окно cmd вести себя намного лучше.

0

Windows действительно стала «Все о графическом интерфейсе», так что в вашем случае я бы просто получил нужные инструменты, а не пытался «согнуть» систему под свою волю ... Инструменты MinGW представляют собой отличную небольшую коллекцию некоторых наиболее широко используемых инструментов GNU ... Я настоятельно рекомендую, если вы любитель nix на Win ...

http://www.mingw.org/wiki/MSYS

0

Я использовал лучший терминал (cmder) для этой цели. Он имеет встроенные псевдонимы и очень прост в использовании. Просто прочитайте документацию об алиасах здесь.

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