В 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-битной коробке.