명령 프롬프트 또는 PowerShell에서 사용자 폴더로 변경하시겠습니까?

명령 프롬프트 또는 PowerShell에서 사용자 폴더로 변경하시겠습니까?

~Linux에서 발견되는 문자 에 해당하는 것이 있습니까 ? 예를 들어 CD ~\Downloads어디에서나 사용자의 다운로드 폴더로 이동하시겠습니까?

답변1

~Windows cmd와 같은 것은 없지만 *nix에서 %USERPROFILE%사용할 수 %HOMEDRIVE%%HOMEPATH%있습니다 . $HOME보다

~그러나 PowerShell에서는 Linux처럼 사용할 수 있습니다 . 예상대로 작동하거나 Linux에서와 같이 PowerShell Core cd ~로 단축할 수 있습니다.cd

물결표 문자(~)는 현재 사용자의 홈 폴더에 대한 약식 표기입니다. 이 예에서는 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.

푸시 위치

cd위치가 없는 PowerShell Core만 사용하면 cdcd ~디렉터리가 모두 변경되는 Linux에서와 똑같이 동작합니다.

  • -Path

    새 작업 위치의 경로를 지정합니다. 경로가 제공되지 않으면 Set-Location기본값은 현재 사용자의 홈 디렉터리입니다. 와일드카드를 사용하면 cmdlet은 와일드카드 패턴과 일치하는 첫 번째 경로를 선택합니다.

세트 위치

답변2

그만큼~틸데)은 사용자의 '홈' 폴더를 자동 완성하는 내장된 바로가기입니다. 일반적으로 홈 폴더는 /home/ 아래에 있지만 실제로는 시스템(네트워크 드라이브 포함)의 거의 모든 위치에 있을 수 있습니다. 이는 에 정의되어 있습니다 /etc/passwd.

그래서 cd ~/Downloads실제로 명령을 실행하고 있습니다cd /home/<username>/Downloads

관련 정보