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

<p>я привык к использованию</p><pre><code>cd ~ </code></pre><p>чтобы попасть прямо в мой домашний каталог. в командной строке windows, я должен сделать</p><pre><code>cd users\username </code></pre><p>попасть туда. есть ли ярлык как у linux? было бы хорошо, если бы я мог добраться туда, делая</p><pre><code>cd username </code></pre><p>возможно ли что-то подобное в windows vista?</p>

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

<p>да, вы можете использовать <code>%homepath%</code>, который является полным путем к домашнему каталогу пользователя.</p><p>существует довольно много других полезных переменных, таких как <code>%os%</code> (операционная система) или <code>%windir%</code> (системный каталог windows). см. <a href="https://en.wikipedia.org/wiki/environment\_variable#windows">википедия: переменные среды</a> для списка.</p><hr><p><em> примечания </em>:</p><p>на самом деле, все немного сложнее (как обычно). <code>%homepath%</code> содержит только путь без буквы диска, поэтому не будет работать для <code>cd</code>ing с другого диска. вы также можете использовать <code>%userprofile%</code>, который<em> делает </em>содержит букву диска и обычно находится в том же каталоге, что и <code>%homepath%</code>.</p><p>значения этих переменных и то, какая из них вам подходит, будут зависеть от версии windows и любых изменений, внесенных администратором, поскольку их значения могут отличаться (см., например, вопрос <a href="https://serverfault.com/questions/29948/difference-between-profile-and-home-path">разница между профилем и домашним путем</a> ).</p>

<p>две другие опции, которые могут быть добавлены в скрипт и автоматически выполнены аналогично ответу billp3rd.</p><p>это еще два персонажа, но ...</p><pre><code>set ~=%homepath% cd %~% </code></pre><p>или же...</p><pre><code>cd %~%\desktop </code></pre><hr><p>или же...</p><pre><code>doskey ~=cd %homepath% ~ </code></pre><p>конечно, вы не можете использовать этот <code>~</code> в путях, но для быстрого "перехода к моей домашней директории" введите <code>~</code> <kbd>enter</kbd> довольно быстро.</p>

<p>я создал файл .cmd в каталоге на моем пути и назвал его «cd ~ .cmd». его содержимое:</p><pre><code>@cd %homepath% </code></pre><p>таким образом, я могу набрать «cd ~» из любого места, чтобы попасть в мой домашний каталог. не то же самое, что "cd ~" (обратите внимание на отсутствующее место), но достаточно близко для меня.</p>

<p> <a href="https://superuser.com/a/168719/37845">ответ слеське</a> это почти точно верно, но это не всегда работает.</p><p>если ваш домашний каталог находится в сетевой папке, настроенной как подключенный диск, запустите следующее независимо от диска текущего каталога:</p><pre><code>cd /d %homedrive%%homepath% </code></pre><p>переключатель <code>/d</code> необходим, чтобы позволить <code>cd</code> менять диски.</p>

<h3>есть ли ярлык для <code>c:\users\<current user>\</code>?</h3><p>там нет прямого ярлыка.</p><p>есть несколько разных решений (см. ниже).</p><ol> <li> <p>используйте переменную окружения вместе с <code>cd</code> или <code>cd /d</code></p> </li> <li> <p>используйте <code>subst</code> или <code>net use</code> для создания сопоставления с другой буквой диска.</p> </li> <li> <p>установите <code>cygwin</code> и используйте <code>bash</code></p> </li> <li> <p>используйте <code>powershell</code> - powershell поддерживает <code>~</code></p> </li> </ol><p>последнее решение, вероятно, самое простое, если вы готовы использовать <code>powershell</code> вместо <code>cmd</code>.</p><hr><h3>решение 1. используйте переменную среды вместе с <code>cd</code> или <code>cd /d</code></h3><p>если вы хотите регулярно переходить в этот каталог, выполните следующую команду:</p><pre><code>setx docs %userprofile% </code></pre><p>это навсегда установит переменную среды <code>docs</code>, но для ее использования необходимо сначала запустить новую оболочку <code>cmd</code>, затем переменная определена и готова к использованию:</p><pre><code>f:\test>echo %docs% c:\users\davidpostill\ </code></pre><p>чтобы изменить каталог из любого места, используйте следующую команду:</p><pre><code>cd /d %docs% </code></pre><p>если вы уже находитесь на диске <code>c:</code>, вы можете просто использовать:</p><pre><code>cd %docs% </code></pre><p>создайте пакетный файл (<code>docs.cmd</code>) и поместите его где-нибудь в свою <code>path</code>.</p><p><strong> docs.cmd: </strong></p><pre><code>@echo off cd /d %docs% </code></pre><p>затем вы можете просто набрать <code>docs</code> независимо от вашего текущего местоположения, и вы попадете на <code>c:\users\<current user></code></p><hr><h3>решение 2. используйте <code>subst</code> или <code>net use</code> для создания сопоставления с другой буквой диска.</h3><p>вы можете использовать <code>subst</code>:</p><pre><code>subst x: %userprofile% </code></pre><p>а потом</p><pre><code>x: </code></pre><p>к сожалению, сопоставления дисков не сохраняются при перезагрузке.</p><p><code>net use</code> будет сохраняться при перезагрузке, например:</p><pre><code>net use x: "\\computername\c$\pathname" /persistent:yes </code></pre><p>см. ответы в <a href="https://superuser.com/questions/29072/how-to-make-subst-mapping-persistent-across-reboots">как сделать отображение subst постоянным при перезагрузках?</a> для подробных инструкций.</p><hr><h3>решение 3. установите <code>cygwin</code> и используйте <code>bash</code></h3><p>вы можете рассмотреть возможность установки <a href="https://cygwin.com/">cygwin</a> :</p><blockquote> <p>cygwin это:</p> <ul> <li>большая коллекция gnu и инструментов с открытым исходным кодом, которые обеспечивают функциональность, аналогичную дистрибутиву linux в windows.</li> </ul> </blockquote><p>после того, как вы установили cygwin, вы можете запустить <code>bash</code> в терминале cygwin и при необходимости установить переменную среды bash <code>home</code>.</p><p>альтернативы cygwin включают <a href="http://www.mingw.org/wiki/msys">msys (mingw)</a> :</p><blockquote> <p>msys - это набор утилит gnu, таких как bash, make, gawk и grep, которые позволяют создавать приложения и программы, которые зависят от традиционных инструментов unix. он предназначен для дополнения mingw и недостатков cmd shell.</p> </blockquote><p>и <a href="https://git-for-windows.github.io/">git для windows</a> :</p><blockquote> <p>git для windows предоставляет эмуляцию bash, используемую для запуска git из командной строки. * пользователи nix должны чувствовать себя как дома, поскольку эмуляция bash ведет себя так же, как команда "git" в средах linux и unix.</p> </blockquote><hr><h3>решение 4. используйте <code>powershell</code></h3><p>как указано в комментарии к другому вопросу от <a href="https://superuser.com/users/202976/sbi">sbi</a> powershell поддерживает <code>~</code>, и вы можете просто набрать:</p><pre><code>cd ~ </code></pre><hr><h3>дальнейшее чтение</h3><ul> <li> <a href="http://ss64.com/nt/">индекс a-z командной строки windows cmd</a> - отличный справочник по всем вопросам, связанным с командной строкой windows.</li> <li> <a href="http://ss64.com/nt/cd.html">cd</a> - изменить каталог - выберите папку (и диск)</li> <li> <a href="http://ss64.com/nt/setx.html">setx</a> - установить переменные среды постоянно, setx может использоваться для установки переменных среды для машины (hklm) или в настоящий момент вошел в систему пользователя (hkcu).</li> <li> <a href="http://ss64.com/nt/subst.html">subst</a> - заменить букву диска для сети или локального пути.</li> </ul>

<p>не знаю, является ли это функцией нашего рабочего сценария входа в систему или windows по умолчанию, но я могу использовать cd% homepath% для достижения этого, где homepath - это переменная окружения.</p>

<p>если вы хотите, чтобы все пользовательские команды запускались в их «домашнем» каталоге, создайте следующий раздел реестра в качестве расширяемого значения строки (без кавычек, конечно):</p><pre><code>hkey\_local\_machine\software\microsoft\command processor\autorun : "cd /d %userprofile%" </code></pre><p>если вы хотите только<em> ваша </em>команда предложит сделать это:</p><pre><code>hkey\_current\_user\software\microsoft\command processor\autorun : "cd /d %userprofile%" </code></pre><p>я практикую хранение папки c:\scripts, в которой я храню пакетный файл типа "autoexec", который я вызываю с помощью этого ключа.</p>

<p>я понимаю, что это давний вопрос, но только для протокола. установите <a href="http://mridgers.github.io/clink/"><code>clink</code></a> , это расширяет вашу командную строку во многих отношениях. да, это тяжелее, чем вышеупомянутые решения, но это заставляет окно cmd вести себя намного лучше.</p>

<p>windows действительно стала «все о графическом интерфейсе», поэтому в вашем случае я бы просто получил инструменты, которые вы хотите, вместо того, чтобы пытаться «согнуть» систему под свою волю ... инструменты mingw представляют собой отличную небольшую коллекцию некоторых из наиболее широко используемые инструменты gnu ... я настоятельно рекомендую, если вы любитель nix на win ...</p><p> <a href="http://www.mingw.org/wiki/msys">http://www.mingw.org/wiki/msys</a> </p>

<p>я использовал лучший терминал ( <a href="https://github.com/cmderdev/cmder">cmder</a> ) для этой цели. он имеет встроенные псевдонимы и очень прост в использовании. просто прочитайте документацию об алиасах <a href="https://github.com/cmderdev/cmder#aliases">здесь</a> .</p>