2010-07-28 09:47:26 +0000 2010-07-28 09:47:26 +0000
110
110

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

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

cd ~

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

cd Users\username

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

cd username

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

Ответы (11)

167
167
167
2010-07-28 10:12:08 +0000

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

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


Notes:

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

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

23
23
23
2013-01-18 18:26:42 +0000

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

Это еще два символа, но…

SET ~=%HOMEPATH%    
CD %~%

или….

CD %~%\Desktop

Или…

doskey ~=cd %homepath%
~

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

19
19
19
2010-07-28 10:47:03 +0000

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

9
9
9
2013-05-07 18:33:50 +0000

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

@cd %HOMEPATH%

Поэтому я могу набрать “cd~” из любого места, чтобы попасть в свой домашний каталог. Это не то же самое, что “cd ~”. (обратите внимание на недостающее пространство), но достаточно близко для меня.

7
7
7
2014-07-31 18:39:22 +0000

sleske’s answer почти в точности верно, но это не всегда работает.

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

cd /D %HOMEDRIVE%%HOMEPATH%

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

5
5
5
2016-03-04 12:16:07 +0000

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

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

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

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

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

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

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

Последнее решение, вероятно, будет самым простым, если вы готовы использовать 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 и недостатков командной оболочки.

И Git для Windows :

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


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

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

cd ~

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

  • Индекс A-Z командной строки Windows CMD - отличная справка для всех вещей, связанных с командной строкой Windows.
  • cd - Изменение каталога - Выбор папки (и диска)
  • setx - Постоянная установка переменных окружения, SETX может использоваться для установки переменных окружения для машины (HKLM) или текущего пользователя (HKCU).
  • subst - Замените букву диска на сетевой или локальный путь.
3
3
3
2010-07-28 10:01:04 +0000

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

1
1
1
2010-08-17 00:42:06 +0000

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

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

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

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

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

1
1
1
2015-02-20 14:22:33 +0000

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

0
0
0
2018-04-04 20:49:33 +0000

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

0
0
0
2012-10-18 08:43:39 +0000

Windows действительно стала ‘Все о gui’, так что в вашем случае я бы просто получить инструменты, которые вы хотите вместо того, чтобы пытаться ‘согнуть’ систему по вашему желанию … Инструменты MinGW - это отличная маленькая коллекция некоторых из наиболее широко используемых инструментов gnu … Я настоятельно рекомендую, если ваш поклонник nix на Win … http://www.mingw.org/wiki/MSYS

Похожие вопросы

3
19
10
28
8