Чи існує команда командного рядка в командному рядку Windows, щоб потрапити до домашнього каталогу поточного користувача, як у Linux?


89

Я звик використовувати

cd ~

щоб отримати право у моєму домашньому каталозі. У командному рядку Windows я повинен зробити

cd Users\username

потрапити. Чи є ярлик, як Linux? Було б добре, якби я міг потрапити туди

cd username

Чи можна подібне зробити в Windows Vista?


5
У Unix немає потреби в тильді. cd без аргументів зміниться на ваш домашній каталог.
coneslayer

тут було питання, подібне до цього, на su, не може його знайти.
akira

1
@coneslayer я знаю, але щоб перемістити файл з одного каталогу в інший ви використовуєте тильду.
classer

Відповіді:


18

Ви завжди можете помістити .bat-файл десь у ваш% PATH%, який змінює шлях для вас.


137

Так, можна використовувати %HOMEPATH%, який є повним шляхом до домашнього каталогу користувача.

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


Примітки :

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

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


5
Це найбільш правильна відповідь, на мій погляд, тому що вона не покладається на жорстко закодовані шляхи та будь-які незрозумілі посилання на файлову систему, які можуть бути між ними.
Ed Orsi

3
Це правильна відповідь.
Frederik Krautwald

Це врятувало мені життя! Подивившись на багато інших відповідей з різних питань. Знову! Це працювало для мене і повинно бути позначене як відповідь на це питання.
Patricia

@MissLucy: Я щаслива, що це допомогло вам. Що стосується прийняття відповіді: це до рішення ОП. Ви можете додати коментар до питання, щоб сповістити їх.
sleske

замість цього використовуйте% USERPROFILE%.
JJS

19

Дві інші опції, обидва з яких можуть бути додані до сценарію і автоматично виконані подібно до відповіді BillP3rd.

Це ще два символи, але ...

SET ~=%HOMEPATH%    
CD %~%

або ...

CD %~%\Desktop

Або ...

doskey ~=cd %homepath%
~

Звичайно, ви не можете використовувати це ~ у шляхах, але як швидкий "стрибок на мій домашній каталог" ~ Enter досить швидко.


8

Я створив файл .cmd у каталозі на моєму шляху і назвав його "cd ~ .cmd". Його зміст:

@cd %HOMEPATH%

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


2
Сама розумна відповідь. Об'єднуючи твій з цю відповідь Кенні Евітт дає найкраще рішення.
Sнаđошƒаӽ

6

відповідь sleske майже точно, але це не завжди працює.

Якщо ваш домашній каталог перебуває у налаштуванні спільного доступу до мережі в якості зіставленого диска, виконайте такі дії незалежно від диска поточного каталогу:

cd /D %HOMEDRIVE%%HOMEPATH%

The /D необхідно включити перемикач cd змінювати диски.


1
Як щодо cd / d% homedrive %% homepath% як один лайнер?
james

5

Чи є ярлик для 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 shell, тоді змінна визначена і готова до використання:

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 підтримує ~ і ви можете просто ввести:

cd ~

Подальше читання

  • Індекс A-Z командного рядка Windows CMD - Відмінна довідка для всіх речей, пов'язаних з Windows cmd.
  • cd - Змінити каталог - вибрати папку (і диск)
  • setx - Налаштувати змінні середовища назавжди, SETX можна використовувати для встановлення змінних середовища для машини (HKLM) або поточного користувача (HKCU).
  • subst - Замініть букву диска на мережевий або локальний шлях.

Якщо на Powershell є два додаткових способи: cd $HOME і cd $env:HOMEPATH
Dirk Thannhäuser

3

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


Я бачу. Для написання% HOMEPATH% потрібно ще багато. Також ви не можете автоматично її заповнити. Чи є спосіб, я можу зробити своє ім'я користувача рівним% HOMEPATH%, зробивши нову команду в cmd.exe?
classer

1

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

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", який я викликаю за допомогою цього ключа.


Слідкуйте, це призведе до порушення bower і npm (і Visual Studio) ...
Quandary

1

Я розумію, що це давно зроблене питання, але тільки для запису. Встановіть clink, це розширює командний рядок багатьма способами. Так, це важче, ніж вище рішення, але це робить вікно CMD вести себе набагато краще.


clink == потужний редагування командного рядка у стилі Bash для cmd.exe
suspectus

Право, і весь сенс полягає в тому, що ~ вирішує каталог Користувача {користувач}.
THBBFT

0

Windows дійсно стала "Все про gui", так що у вашому випадку я б тільки отримав інструменти, які ви хочете замість того, щоб намагатися "зігнути" систему до вашої волі ... Інструменти MinGW є відмінною маленькою колекцією деяких найбільш широко використовуваних інструментів GNU ... Я настійно рекомендую, якщо ваш вентилятор NIX на Win ...

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


0

Я використав кращий термінал ( cmder ) Для цієї мети. Він має вбудовані псевдоніми і дуже простий у використанні. Просто прочитайте документацію про псевдоніми тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.