
Есть ли что-нибудь, что соответствует символу, ~
найденному в Linux. Например, CD ~\Downloads
для перехода в папку загрузок пользователя из любого места?
решение1
В Windows cmd нет ничего похожего ~
, но можно использовать %USERPROFILE%
или %HOMEDRIVE%%HOMEPATH%
как $HOME
в *nix. Смотреть
Однако в PowerShell вы можете использовать ~
как в Linux. cd ~
будет работать как и ожидалось или вы можете сократить его до cd
PowerShell Core как в Linux
Символ тильды (~) — это сокращенное обозначение домашней папки текущего пользователя. В этом примере показано
Resolve-Path
возвращение полного значения пути.Resolve-Path ~ Path ---- C:\Users\User01
PS C:\> Push-Location ~ -StackName Stack2 PS C:\Users\User01> Pop-Location -StackName Stack2 PS C:\>
Первая команда помещает текущее местоположение в новый стек с именем Stack2, а затем изменяет текущее местоположение на домашний каталог, представленный в команде символом тильды (
~
), который при использовании на дисках поставщика файловой системы эквивалентен$HOME
и$env:USERPROFILE
.
В PowerShell Core cd
без указания местоположения ведет себя точно так же, как в Linux, где cd
и cd ~
оба изменяются на домашний каталог
-Path
Укажите путь к новому рабочему расположению. Если путь не указан,
Set-Location
по умолчанию используется домашний каталог текущего пользователя. При использовании подстановочных знаков командлет выбирает первый путь, соответствующий шаблону подстановочных знаков.
решение2
(~
Тильда) — это встроенный ярлык, который автоматически заполняет папку «Домашняя» пользователя. Обычно домашняя папка находится в /home/, однако она может находиться практически в любом месте системы (включая сетевые диски). Это определено в /etc/passwd
.
Так cd ~/Downloads
на самом деле выполняется командаcd /home/<username>/Downloads