PowerShell에서 액세스 가능한 모든 드라이브 보기

PowerShell에서 액세스 가능한 모든 드라이브 보기

cd \가 내 드라이브의 루트로 이동하는 것을 확인했습니다.

하지만 내 컴퓨터에서 액세스할 수 있는 다른 드라이브도 있습니다.

연결할 수 있는 모든 드라이브를 나열하는 명령이 PowerShell에 있나요?

답변1

이것은 "드라이브"라고 부르는 것에 따라 다소 다릅니다. PowerShell에는 일반적인 로컬 또는 네트워크 매핑 볼륨을 나타내는 드라이브뿐만 아니라 별칭, 환경 변수, 함수, PowerShell 변수, 레지스트리 하이브 등과 같은 다른 개체를 보유하는 드라이브도 있습니다.

PowerShell에서 모든 "드라이브" 목록을 보려면 다음을 사용하세요.

Get-PSDrive

또는 내장 별칭을 사용할 수 있습니다.

gdr

Get-PSDrive( 아래에 보이는 곳은 어디든 대체할 수 있습니다 gdr.)

파일 시스템 드라이브(예: 로컬 또는 네트워크 매핑 볼륨 또는 미디어 베이)만 가져오려면 다음을 사용하십시오.

Get-PSDrive -PSProvider FileSystem

얻으려면단지로컬 드라이브 또는단지Get-PSDrive하드 드라이브를 사용하여 필터링할 개체 출력에서 ​​적절한 속성 또는 메서드를 찾을 수 없습니다 . 조금 후에 구글링해서 찾아낸TechNet의 Microsoft Get-PSDrive 설명서. 여기에는 사용 방법에 대한 세부 정보와 함께 Get-PSDrivePowerShell에서 액세스할 수 있는 몇 가지 드라이브 열거 방법도 나열되어 있습니다. 제가 찾은 유용한 방법 중 하나는 .NET Framework의 System.IO.DriveInfo 클래스를 이용하는 것입니다.

PowerShell을 통해 실행 가능한 아래 명령은 로컬 하드 드라이브만 나열합니다.

[System.IO.DriveInfo]::getdrives() | Where-Object {$_.DriveType -eq 'Fixed'}

하드 드라이브뿐만 아니라 모든 로컬 드라이브를 포함하려면 다음을 사용하십시오.

[System.IO.DriveInfo]::getdrives() | Where-Object {$_.DriveType -ne 'Network'}

드라이브 문자만 보려면 Select-Object다음과 같이 출력을 로 파이프하십시오.

[System.IO.DriveInfo]::getdrives() | Where-Object {$_.DriveType -ne 'Network'} | Select-Object -Property Name

Where-Object및 Where-Object where` Select-Object의 내장 별칭도 있습니다. 이는 실제로 선호도의 문제입니다.) System.IO.DriveInfo 클래스를 IO.DriveInfo로 단축할 수도 있습니다 ?. 따라서 원하는 경우 마지막 명령을 다음과 같이 실행할 수 있습니다.select, respectively. (is also usable as

[IO.DriveInfo]::getdrives() | ? {$_.DriveType -ne 'Network} | select -Property Name

물론 , Get-PSDrivesPowerShell을 통해 액세스할 수 있는 .NET 클래스 및 기타 다양한 PowerShell 바로 가기를 사용하여 수행할 수 있는 작업이 많이 있습니다. TechNet 및 유사 사이트에서 자세한 내용을 읽어보고 및 cmdlet을 사용하여 Get-Help환경 Get-Command에 더 익숙해지는 것이 좋습니다.

답변2

다음 명령을 사용하여 powershellPC의 모든 드라이브를 나열하십시오.

gdr -PSProvider 'FileSystem'

또는

Get-PSDrive -PSProvider 'FileSystem'

관련 정보