В Linux мы можем перейти к пользователю домой, введя ~
символ tilde ( ) после cd
:
cd ~
Как сделать то же самое в Windows?
Каждый раз мне нужно набрать:
cd C:\Document and Settings\freewind
Это слишком скучно.
В Linux мы можем перейти к пользователю домой, введя ~
символ tilde ( ) после cd
:
cd ~
Как сделать то же самое в Windows?
Каждый раз мне нужно набрать:
cd C:\Document and Settings\freewind
Это слишком скучно.
Ответы:
cd /d "%HOMEDRIVE%%HOMEPATH%"
сделал бы это - но я не уверен, если вы считаете это улучшением.
Вы также можете определить псевдоним для вышеуказанной команды:
doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"
После этого все просто cdhome
.
~
.
Вы можете использовать, cd /d %USERPROFILE%
если вы используете cmd.
или вы можете использовать, cd ~
если вы используете PowerShell.
c:\documents and settings\...
, пробелы будут разбивать ее, если она не заключена в кавычки)
cd
это исключение. Поскольку он всегда принимает один аргумент, цитирование не обязательно. (В Windows, программы и встроенные модули должны анализировать их Командная строка себя, оболочка не делает.) Всегда цитирую пути является хорошей практикой, однако.
cmd.exe
сам по себе и его причудливый /c
.
/c "C:\foo bar\baz" "my file.txt"
или /c "\"C:\foo bar\baz\" \"my file.txt\""
или /c ""C:\foo bar\baz" "my file.txt""
? Еще хуже то, что синтаксический анализ зависит от того, /s
был ли указан ранее, наличия специальных символов, от того, назван ли исполняемый файл C:\foo bar\baz
или просто C:\foo
...
Одна возможность - использовать subst
команду из командной строки:
subst z: C:\Document and Settings\freewind
Каждый раз, когда вы переходите на диск Z:, вы будете просматривать свою папку пользователя.
Недостатком является то, что вам нужно запускать его каждый раз, когда вы входите в систему. Я использовал командный файл и просто поместил его в папку автозагрузки, но, возможно, есть более элегантные решения для этого.
Преимущество состоит в том, что в отличие от псевдонима doskey, он работает универсально (проводник Windows, диалог просмотра и т. Д.), А не только при смене каталогов в командной строке. Это особенно полезно для старых программ со старыми диалоговыми окнами просмотра, которые имеют буквы дисков на самом верхнем уровне, а не «рабочий стол».
Вы можете создать командный файл, ~.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 C:\Users\a
- у меня всегда было «aplocher» или «adamp», и когда я менял одну букву, это было волшебно.
Используя PowerShell, вы можете использовать следующий метод для перемещения по каталогам из любой точки мира, если вы знаете свое имя пользователя и имеете права доступа к каталогу файлов.
cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music
Смотрите пример ниже в PowerShell (64 бит). Я проверял это на Windows 7 Pro 64-битной коробке.