Что эквивалентно Linux ~ ~ (тильда) Linux в Windows?

В Linux мы можем перейти к домашнему пользователю, введя символ тильды ( ~ ) после 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.

Одна из возможностей – использовать команду subst из командной строки:

 subst z: C:\Document and Settings\freewind 

Каждый раз, когда вы переходите на диск Z :, вы будете смотреть на свою папку пользователя.

Недостатком является то, что вам нужно запускать его каждый раз, когда вы входите в систему. Я использовал командный файл и просто поместил его в свою папку автозагрузки, но, вероятно, для этого есть более элегантные решения.

Преимущество состоит в том, что в отличие от псевдонима doskey, он работает повсеместно (Windows Explorer, диалог просмотра и т. Д.), А не только при изменении каталогов в командной строке. Это особенно полезно для старых программ со старыми диалогами обзора, которые имеют буквы дисков на самом верхнем уровне, а не «рабочий стол».

Вы можете сделать это:

 cd %homepath% 

Вы можете создать пакетный файл с именем ~.bat содержащий

 @echo off cd /d %USERPROFILE% 

И добавьте его в свою переменную PATH (Пуск -> [щелкните правой кнопкой мыши на «Компьютер»] -> Свойства -> «Дополнительные системные настройки» [в левой колонке] -> «Переменные среды»

Оттуда просто измените свою переменную PATH, чтобы включить папку, содержащую ваш файл ~.bat . (Это позволяет вам вызывать ваш скрипт из любого места, используя только имя файла, а не абсолютный путь к файлу)

Кроме того, убедитесь, что PATHEXT среды PATHEXT содержит .BAT где-нибудь (это позволяет вам вводить ~ вместо ~.bat ).

Когда вам нужно использовать его, просто введите ~ в командной строке. Это решение является постоянным – вам не придется настраивать его каждый раз при запуске оболочки, и вам не придется взломать реестр.

К сожалению, я не знаю идеального решения, но есть пара хакерских вариантов:

Вариант 1: Установите ~ для псевдонима команды с doskey

 doskey ~=cd /d %USERPROFILE% 

Это позволит вам просто набрать ~ и передать его chdir вашему homedir.

 C:\>~ C:\Users\a> 

Очевидно, что это сокращает количество нажатий клавиш, чтобы вернуться домой (даже по сравнению с Linux), но менее надежным, поскольку вы не можете использовать его как часть другого пути или делать с ним многое, кроме дома cd'ing.

Вариант 2: Установите ~ для переменной

Другой вариант, если вы хотите более надежную опцию – установить var:

 set ~="%USERPROFILE%" 

Но использование этого будет использоваться как:

 E:\>cd /d %~% C:\Users\a> 

Он также может быть введен в большинство путей и не ограничивает вас просто cd'ing домой.

Оба варианта одновременно

Кроме того, вы можете реализовать оба метода одновременно. Если у вас есть% от него, то он будет использовать переменную, иначе он будет рассматривать ~ как команду.

 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% простым именем. Как вы можете видеть из моих примеров выше, мой пользовательский каталог – C:\Users\a – у меня всегда были «aplocher» или «adamp», и когда я перешел на одну букву, это было волшебным.

В Powershell синтаксис %variable% не работает. Вы можете сделать это :

 cd $env:USERPROFILE 
  • «Панический пароль» в Linux
  • Как обновить с PHP v5.4 до PHP v5.5 в bitnami ubuntu
  • USB-мышь отключается и снова подключается к окнам и Linux
  • Как удалить все файлы размером не более определенного размера во всех подпапках?
  • Как я могу рекурсивно скопировать файлы с расширением файла, сохраняя структуру каталогов?
  • Лучший Linux для одного приложения и быстрая загрузка? (Также How-to?)
  • Влияние производительности Linux на виртуальную машину в Windows?
  • Как открыть приложение при запуске X session
  • Skype 4.3 без PulseAudio, только ALSA. Любые варианты?
  • Установка USB-устройства в Linux
  • Как добавить новое ядро ​​в grub2
  • Interesting Posts

    Используйте jQuery / CSS, чтобы найти самый высокий из всех элементов

    В чем разница между getSupportFragmentManager () и getChildFragmentManager ()?

    Динамическое обновление css в Angular 2

    Как предотвратить появление команд в истории bash?

    Как остановить работу операционной системы Windows от использования моей квоты пропускной способности?

    Android: Как получить радиогруппу с togglebuttons?

    Sftp: загрузить все файлы, каталоги и подкаталоги, содержащиеся в папке

    Различия между сокетами TCP и веб-сокетами, еще раз

    Что мне нужно сделать, чтобы заставить Internet Explorer 8 принять самоподписанный сертификат?

    Почему две разные концепции называются «кучей»?

    Как использовать кэширование вывода в обработчике .ashx

    Как сделать UITableViewCell с UITextView внутри, который динамически регулирует его высоту на основе UITextView?

    Найти элемент в списке по LINQ?

    Как наследовать конструкторы?

    Есть ли лучшее объяснение рамок карты стека?

    Давайте будем гением компьютера.