В Linux мы можем перейти к пользователю домой, введя символ тильды (~
) после cd
:
cd ~
Как сделать то же самое в Windows?
Каждый раз мне нужно набрать:
cd C:\Document and Settings\freewind
Это слишком скучно.
В Linux мы можем перейти к пользователю домой, введя символ тильды (~
) после cd
:
cd ~
Как сделать то же самое в Windows?
Каждый раз мне нужно набрать:
cd C:\Document and Settings\freewind
Это слишком скучно.
Вы можете использовать cd /d %USERPROFILE%
если вы используете cmd.
или вы можете использовать cd ~
если вы используете PowerShell.
cd /d "%HOMEDRIVE%%HOMEPATH%"
сделает это, но я не уверен, что вы считаете это улучшением.
Вы также можете определить псевдоним для вышеуказанной команды:
doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"
После этого это просто cdhome
.
Одна возможность - использовать команду subst
из командной строки:
subst z: C:\Document and Settings\freewind
Каждый раз, когда вы переходите на диск Z:, вы будете просматривать свою пользовательскую папку.
Недостатком является то, что вам нужно запускать его каждый раз, когда вы входите в систему. Я использовал командный файл и просто поместил его в папку автозагрузки, но, возможно, есть более элегантные решения для этого.
Преимущество состоит в том, что в отличие от псевдонима doskey, он работает универсально (проводник Windows, диалог просмотра и т.д.), А не только при смене каталогов в командной строке. Это особенно полезно для старых программ со старыми диалоговыми окнами просмотра, которые имеют буквы дисков на самом верхнем уровне, а не "рабочий стол".
Вы можете сделать это:
cd %homepath%
Вы можете создать пакетный файл с именем ~.bat
содержащий
@echo off
cd /d %USERPROFILE%
И добавьте его в переменную PATH (Пуск -> [щелкните правой кнопкой мыши "Компьютер"] -> Свойства -> "Дополнительные параметры системы" [в левом столбце] -> "Переменные среды")
Оттуда просто отредактируйте переменную PATH, включив в нее папку, содержащую файл ~.bat
. (Это позволяет вам вызывать ваш скрипт из любого места, используя только имя файла, а не абсолютный путь к файлу)
Также убедитесь, что ваша переменная окружения PATHEXT
содержит .BAT
где-то (это позволяет вам печатать ~
вместо ~.bat
).
Когда вам нужно его использовать, просто введите ~
в командной строке. Это решение является постоянным - вам не придется настраивать его каждый раз, когда вы запускаете оболочку, и вам не нужно будет взламывать реестр.
К сожалению, я не знаю идеального решения, но есть несколько хакерских вариантов:
Вариант 1: установите ~ как псевдоним команды с doskey
doskey ~=cd /d %USERPROFILE%
Это позволит вам просто набрать ~
и передать его chdir вашему homedir.
C:\>~
C:\Users\a>
Очевидно, это сокращает количество нажатий клавиш, чтобы вернуться домой (даже по сравнению с Linux), но менее надежно, поскольку вы не можете использовать его как часть другого пути или делать с ним что-то большее, чем просто cd'ing home.
Вариант 2: установите ~ как переменную
Другой вариант, если вы хотите более надежный вариант - установить переменную:
set ~="%USERPROFILE%"
но используя это будет использоваться как:
E:\>cd /d %~%
C:\Users\a>
Он также может быть введен в большинство путей и не ограничивает вас просто cd'ing home.
Оба варианта одновременно
Также вы можете реализовать оба метода одновременно. Если у вас есть% вокруг него, то он будет использовать переменную - в противном случае он будет обрабатывать ~
как команду.
C:\>:: ECHO (display) THE VALUE OF %~%
C:\>echo %~%
C:\Users\a
C:\>:: ChDir to ~\DESKTOP
C:\>cd /d %~%\Desktop
C:\Users\a\Desktop>:: USE THE ~ COMMAND
C:\Users\a\Desktop>~
C:\Users\a>
Еще один совет (вроде как):
С меньшей вероятностью это будет приемлемо на корпоративной машине, по крайней мере, на вашем домашнем ПК, для сохранения дополнительных нажатий клавиш; неплохая идея сделать ваш %USERPROFILE%
dir простым именем. Как вы можете видеть из моих примеров выше, мой пользователь dir - это C:\Users\a
- у меня всегда было «aplocher» или «adamp», и когда я менял одну букву, это было волшебно.
В Powershell синтаксис %variable%
не работает. Вы можете сделать это :
cd $env:USERPROFILE
Используя PowerShell, вы можете использовать следующий метод для перемещения по каталогам из любой точки мира, если вы знаете свое имя пользователя и имеете права доступа к каталогу файлов.
cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music
Смотрите пример ниже в PowerShell (64 бит). Я проверял это на Windows 7 Pro 64-битной коробке.