PowerShell에서 $ HOME 설정


29

powershell을 열 때마다 기본 홈 디렉토리를 "C : \ Users \ khornsby"로 변경하려면 어떻게합니까?

Windows 7을 실행하고 있습니다. 아래는 내 환경 상태에 대한 정보입니다.

Windows PowerShell
저작권 (C) 2009 Microsoft Corporation. 판권 소유.

PS P : \> cd ~
PS P : \>echo $HOME
피:\
PS P : \> HOME="C:\Users\khornsby"
'HOME = C : \ Users \ khornsby'라는 용어는 cmdlet의 이름으로 인식되지 않습니다.
기능, 스크립트 파일 또는 작동 가능한 프로그램. 이름의 철자를 확인하거나
경로가 포함 된 경우 경로가 올바른지 확인하고 다시 시도하십시오.
줄 : 1 문자 : 25
+ HOME = "C : \ Users \ khornsby" 

PS P : \> Set-Variable HOME "C:\Users\khornsby"
변수 설정 : 변수 HOME은 읽기 전용이거나 변수이기 때문에 덮어 쓸 수 없습니다.
일정한.
줄 : 1 문자 : 13
+ 변수 설정 

PS P : \> dir env:home*

이름 값
---- -----
HOMEPATH \
HOMEDRIVE P :
홈 쉐어 \\ fileserv \ khornsby $


PS P : \>

2
게시물 형식을 어떻게 정했습니까? 입력 한 내용이 강조 표시되는 방식이 마음에 듭니다.
Jay Bazuzi

3
<kbd>태그를 사용했습니다 .
kzh

답변:


27

변수는 기본적으로 읽기 전용이지만 -ForceRemove-Variable로 전환하여 제거 할 수 있습니다 . 세션 전체에서 변경 사항을 유지하려면 .bashrcPowershell을 제외하고 (Linux의 bash의 경우) 와 비슷한 프로필 파일을 만들 수 있습니다 .

C:\Users\YOUR_USERNAME_HERE\documents사용자 계정 의 Documents 디렉토리 (일반적으로 )에서 WindowsPowerShell 폴더 (정확하게 이름이 같은)를 작성하십시오 (없는 경우). 폴더 내부라는 텍스트 파일 생성 profile.ps1을 ( 이 profile.ps1.txt 아니다 확인 ).

파일 안에 Powershell을 열 때 실행할 항목을 넣으십시오.

예:

Write-Host "Hi John, welcome back!"
Remove-Variable -Force HOME
Set-Variable HOME "C:\Users\khornsby"

결과:

대체 텍스트


1
또한 다음을 가리키는 바로 가기에서 시작시 스크립트를 실행할 수 있습니다. %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -NoExit -ExecutionPolicy bypass -File C:\foo\profile.ps1
paradroid

1
나는 이것을 시도했지만 $ HOME의 값을 성공적으로 변경합니다. 그러나 "cd ~"는 여전히 원래 위치로 완고하게 전환됩니다.
Weeble

2
@ Weeble, ~ 바로 가기를 재정의하는 내 대답을 참조하십시오.
ulty4life

9

~바로 가기 에 대한 @Weeble의 우려를 해결하려면 :

$HOMEDRIVE = "C:\"
$HOMEPATH = "Users\" + $env:username

# Set and force overwrite of the $HOME variable
Set-Variable HOME "$HOMEDRIVE$HOMEPATH" -Force

# Set the "~" shortcut value for the FileSystem provider
(get-psprovider 'FileSystem').Home = $HOMEDRIVE + $HOMEPATH

~와 $ HOME의 차이점 은 여기 를 참조 하십시오.


1
그것은 추가 가치 cd $HOME쉘이 해당 위치에 시작되며 :) 사용하기위한 모든 설정 될 수 있도록, 마지막에
Eliran 말카

5

더욱 쉬움 ... 고급 시스템 설정 열기 ...

 C:\> systempropertiesadvanced

프로파일 경로가있는 HOME이라는 새 시스템 변수를 추가하십시오.

여기에 이미지 설명을 입력하십시오

탐색기를 다시 시작하거나 로그 아웃했다가 다시 로그인하십시오 ...

PS C:\> $Env:home 
--- 

3
이것은 질문이하는 일을하지 않습니다. Powershell 변수 $ HOME이 아닌 환경 변수 $ env : HOME을 설정합니다. Powershell 변수 $ HOME은 Powershell 프로세스가 시작될 때 환경 변수 $ env : HOMEDRIVE 및 $ env : HOMEPATH에서 파생 된 것으로 나타납니다. "cd ~"의 동작을 결정하는 것은 $ HOME입니다.
Weeble

2
마지막 진술은 사실이 아닙니다. $ HOME과 "cd ~"의 동작은 Powershell 프로세스가 시작될 때 HOMEDRIVE 및 HOMEPATH 환경 변수의 값과 일치하는 것으로 보입니다. 결과적으로 이러한 변수 / 환경 변수를 변경하면 "cd ~"에 의해 선택된 디렉토리에 영향을 미치지 않는 것으로 보입니다.
Weeble

나를 위해 잘 작동합니다 .... 당신이 다르게하고있는 일을 모르겠어요.
Eddie B

3

Windows 내에서 변경하려면 다음을 시도하십시오.

  • 작업 표시 줄에 PowerShell을 고정합니다.

  • 작업 표시 줄에서 PowerShell 아이콘을 마우스 오른쪽 단추로 클릭하십시오.

  • 'Windows PowerShell'을 마우스 오른쪽 단추로 클릭하고 '속성'을 선택하십시오.

  • '속성'창에서 '바로 가기'탭으로 이동하여 '시작 위치 :'필드를 원하는 시작 디렉토리로 변경하십시오. (예 :) .C:\Users\username\Desktop

  • '확인'을 클릭하십시오.

  • 작업 표시 줄에서 PowerShell을 시작하십시오.

    작업 표시 줄

    속성 창


'관리자
권한

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.