it-swarm-ru.tech

Есть ли в командной строке Windows команда быстрого доступа к домашнему каталогу текущего пользователя, как в Linux?

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

cd ~

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

cd Users\username

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

cd username

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

98
classer

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

18
dertoni

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

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


Примечания :

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

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

144
sleske

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

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

SET ~=%HOMEPATH%    
CD %~%

или же...

CD %~%\Desktop

Или же...

doskey ~=cd %homepath%
~

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

20
Carl

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

@cd %HOMEPATH%

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

8
Jaime de los Hoyos M.

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

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

cd /D %HOMEDRIVE%%HOMEPATH%

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

6
Kenny Evitt

Есть ли ярлык для 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 и ​​инструментов с открытым исходным кодом, которые обеспечивают функциональность, аналогичную дистрибутиву Linux в Windows.

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

Альтернативы Cygwin включают msys (MingW) :

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

И Git для Windows :

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


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

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

cd ~

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

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

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

3
Rob Cowell

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

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

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

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

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

1
BillP3rd

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

1
THBBFT

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

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

0
Eddie B

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

0
Don Camillo