PowerShell의 기본 디렉터리를 어떻게 설정합니까?


108

PowerShell의 기본 위치를 변경하는 방법이 있습니까?

PowerShell의 기본 작업 디렉터리를 어떻게 설정합니까?


1
바로 가기를 편집하여 수행 할 수있는 방법은 다음과 같습니다. stackoverflow.com/questions/18726981/…
Blundering Philosopher

@BlunderingPhilosopher 그건 git shell ..?
Vivek Chavda

@VivekChavda 네는
철학자 실수하는

답변:


61

PowerShell을 시작할 때 열 디렉터리를 지정할 수 있습니다.

powershell.exe -NoExit -command "& {Set-Location $env:systemroot}"

바로 가기에서 사용하십시오.

또는 프로필 을 사용하여 시작 디렉터리를 설정합니다.


5
PS Core :pwsh.exe -WorkingDirectory C:\YourLocation\Goes\Here
Sergey Zykov

"C : \ Program Files \ PowerShell \ 6 \ pwsh.exe"-WorkingDirectory D : \ test
cem kaan

179

다음과 같이 PowerShell 프로필 을 만듭니다 .

  1. 관리자 권한으로 PowerShell을 실행하고 다음 명령을 실행합니다.

    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

    이렇게하면 PowerShell이 ​​서명 된 인터넷에서 다운로드 한 로컬 스크립트와 스크립트를 실행할 수 있습니다. 이 명령에 대한 자세한 내용 은 설명서를 참조하십시오 .

  2. 당신에 Documents폴더라는 이름의 폴더를 찾을 WindowsPowerShell고전 PowerShell 용 또는 PowerShell새로운 PowerShell을 코어를. 존재하지 않으면 괜찮습니다. 그냥 만드세요.

  3. 라는 새 파일 만들기 profile.ps1WindowsPowerShell(또는 폴더 PowerShellPowerShell을 코어를).
  4. profile.ps1다음 명령을 열고 추가하여 기본 작업 디렉토리를 설정하십시오.

    Set-Location C:\my\default\working\directory
  5. 새 PowerShell 창을 엽니 다 ... 변경 사항이 적용되어야합니다.


1
시도했지만 "스크립트 실행이 비활성화 되었기 때문에 profile.ps1을로드 할 수 없습니다"라는 메시지가 나타납니다. 안전한 스크립트를 활성화하는 "안전한"방법이 있습니까?
John Little

3
실행 : "Set-ExecutionPolicy -ExecutionPolicy RemoteSigned"여기에서 읽을 수 있습니다. technet.microsoft.com/en-us/library/ee176961.aspx 인터넷에서 다운로드 한 스크립트는 신뢰할 수있는 스크립트가 아닌 경우 실행할 수 없습니다. 출처.
LLL

7
예를 들어 Visual Studio 빌드 스크립트와 같은 빌드 스크립트가 있고 ps 명령을 실행하려는 경우 명령의 작업 디렉토리가 해당 위치로 설정되므로 기본적으로 같은 PowerShell을 사용하여 모든 스크립트 휴식powershell -File "myscript.ps1"
Santhos

2
그것이 나쁜 선택이라면 더 나은 / 안전한 방법이 있습니까?
Adam_G apr

4
나 자신을 바로 잡도록하자. 예를 들어 빌드를 위해 powershell 스크립트를 작성할 때 항상 -NoProfile 옵션을 사용하십시오.powershel -NoProfile -File "myscript.ps1"
Santhos

33

Windows Server 2016 에서 위의 답변을 성공하지 못했습니다.

그러나 나는이 접근 방식 (Windows 10에서도 동일해야 함)이 저에게 효과적이라는 것을 알았습니다.

  1. PowerShell 세션 시작
  2. 작업 표시 줄에서 링크를 유지하려면 마우스 오른쪽 버튼을 클릭하고 고정합니다.
  3. 작업 표시 줄의 아이콘을 다시 마우스 오른쪽 단추로 클릭 한 다음 Windows PowerShell 을 마우스 오른쪽 단추로 클릭 하고 속성을 선택합니다.
  4. 시작 위치 : 입력 필드 원하는 디렉토리를 입력하고 확인을 누릅니다.
  5. 작업 표시 줄 아이콘에서 시작

끝난!

동일한 속성 대화 상자에서 글꼴, 색상, 크기 및 버튼을 통해 바로 가기 탭 과 같은 다른 많은 설정을 변경할 수도 있습니다 Advanced. 해당 PowerShell 세션을 관리자 권한으로 실행할지 여부를 선택할 수 있습니다.


5
고급 메뉴 Run as administrator에서 확인할 때 작업 디렉토리 변경이 작동하지 않는 것 같습니다 .lnk. 해결책은 여기에있는 것 같습니다. stackoverflow.com/questions/31622469/…
Santhos

이상합니다. 여기서 작동합니다. dir을 변경하고 Run as aministrator확인란을 앞뒤로 변경하여 테스트했습니다 .
neongrau

매력을 발휘합니다. 감사.
Yasser Shaikh

12

기본 디렉토리를 설정하는 더 쉬운 방법은 다음과 같습니다.

  1. Windows PowerShell 아이콘을 마우스 오른쪽 단추로 클릭하고 시작에 고정합니다.
  2. 시작에서 Windows PowerShell 아이콘을 마우스 오른쪽 단추로 클릭하고 Windows PowerShell을 다시 마우스 오른쪽 단추로 클릭하고 속성 ( Windows PowerShell ISE가 아닌 관리자 권한으로 실행이 아님 )을 선택합니다.

    여기에 이미지 설명 입력

    1. 에서 바로 가기 탭 - 필드 '의 시작'> 위치로 변경 당신은 PowerShell을에서 시작하고 싶어.

    여기에 이미지 설명 입력


감사합니다.이 답변이 마음에 듭니다. 왜 그리고 어떤 디렉토리가 "기본값"으로 설정되었는지 이해하는 데 도움이되었습니다. 이 솔루션은 또한 프로필을로드하는 오버 헤드 시간 비용을 약간 줄여 준다고 생각합니다 (진실인지 아닌지는 확실하지 않지만 느낌이 듭니다).
Jennings

4

Set-Location프로필에 넣으면 현재 작업 디렉터리가 무조건 변경되므로 "PowerShell로 실행"을 통해 실행하는 스크립트의 작업 디렉터리와 관련하여 원치 않는 결과가 발생할 수 있습니다.

대체 솔루션은 .lnk파일 의 작업 디렉터리를 일반적으로 %USERPROFILE%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell. 링크를 마우스 오른쪽 버튼으로 클릭하고 작업 %HOMEDRIVE%%HOMEPATH%디렉토리를 원하는 디렉토리로 변경하십시오 .


1
고급 메뉴 Run as administrator에서 확인할 때 작업 디렉토리 변경이 작동하지 않는 것 같습니다 .lnk. 해결책은 여기에있는 것 같습니다. stackoverflow.com/questions/31622469/…
Santhos

이것이 최선의 해결책입니다 (적어도 저에게는).
Anders Arpi

그래서 스크립트는 다음 -NoProfile과 같은 옵션을 사용해야합니다powershell -NoProfile -File "myscript.ps1"
Santhos

4

PowerShell에 다음을 입력하십시오.

New-Item -path $profile -type file force

PowerShell 폴더에 .ps1 파일을 만듭니다. 그것을 열고 다음과 같이 편집하십시오.

Set-location C:\files

끝난

이 링크를 참조하십시오. 잘 작동합니다.

PowerShell 시작 디렉터리 변경


3

이전 답변에서 언급했듯이 무조건 작업 디렉터리를 변경하는 대신 PowerShell 프로필에 간단한 함수를 작성하여 Set-Location필요할 때마다 작업 디렉터리를 빠르게 변경할 수 있습니다.

Jeremy Danyow의 답변 을 확인 하여 PowerShell 프로필을 생성 / 수정합니다.

PowerShell 프로필에 함수를 추가합니다.

function goto_this {set-location 'your\path\to\some\dir'}
function goto_that {set-location 'your\path to some\dir with space'}

가리키는 함수 이름과 디렉토리를 변경하십시오. 경로에 공백이 포함 된 경우 반드시 따옴표를 사용해야합니다. goto_함수 이름을 기억하는 데 도움이 되므로 접두사를 유지하려고 합니다.

입력 goto_을 시작한 다음 TAB을 눌러 추가 된 모든 기능을 순환 할 수 있습니다 (기능을 추가 / 수정 한 후 새 PowerShell 창을 시작하는 것을 잊지 마십시오).


1

명령 줄 만 사용하면 파일이 이미 존재하는 경우 추가됩니다.

$(if (-Not (Test-Path ~\Documents\WindowsPowerShell\)){ mkdir ~\Documents\WindowsPowerShell\}) ; echo "Set-Location c:\THELOCATIONYOUWANT" >> ~\Documents\WindowsPowerShell\profile.ps1

1

이로 인해 "작업 디렉터리"와 PowerShell의 "위치"에 약간의 혼동이있는 것 같습니다. 여기에있는 대부분의 사람들은 PowerShell의 "위치"를 변경하는 것입니다. "작업 디렉토리"는 실제로 다릅니다. 여기에 그것을 설명 하는 기사 가 있습니다.

기사를 읽고 싶지 않은 사람들을 위해 : PowerShell을 열고 다른 사람들의 말을 사용하십시오 Set-Location "C:\some\directory". "작업 디렉터리"는 여전히 PowerShell이 ​​열린 위치입니다. 하나 "~"또는 "%SYSTEMROOT%\system32"관리자로 여부를 실행 한 경우에 따라 달라집니다. 작업 디렉토리를 확인하려면 [Environment]::CurrentDirectory.

참고 : 이 기사에서 저자는 다음 명령을 사용하여 "작업 디렉토리"를 확인하라고 말합니다.

\[Environment\]::CurrentDirectory

이것이 이전 PowerShell 버전에서 작동하는지 확실하지 않지만 PowerShell 5 이상에서는 [Environment]::CurrentDirectory.


0

이것을 Profile.ps1의 첫 번째 줄로 지정하면 현재 작업중인 디렉터리에서 PowerShell Core (pwsh)가 열립니다.

set-location (get-location) .path



0

이 솔루션은 현재 작업 폴더를 스크립트가있는 위치로 설정합니다. 스크립트 시작 부분 또는 적어도 위치 경로에 의존하는 명령을 사용하기 전에 배치해야합니다.

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