PowerShell에서 두 개 이상의 문자열을 파일 경로로 결합하는 방법

Join-Path
cmdlet는 사용자가 문자열을 결합하여 단일 경로로 만드는 것을 허용합니다. 때때로, PowerShell에서 작업할 때 단일 경로를 만들기 위해 경로를 결합해야 할 수도 있습니다.
여기서 Join-Path
cmdlet이 작동하게 됩니다. 많은 자식 경로를 결합하거나 기본 경로에 추가하여 단일 경로를 만들 수 있습니다.
-Path
매개변수는 자식 경로가 추가되는 기본 경로를 지정합니다. -Path
값은 어떤 제공자가 경로를 결합하고 경로 구분자를 추가하는지를 결정합니다.
경로를 결합하기 위해 \
구분자를 제공합니다. -ChildPath
매개변수는 -Path
매개변수 값에 추가할 경로를 지정합니다.
예를 들어, 다음 명령어는 Join-Path
를 사용하여 기본 경로 hello
와 자식 경로 world
를 결합합니다.
Join-Path -Path "hello" -ChildPath "world"
출력:
Join-Path
cmdlet은 두 개의 문자열 입력만 받거나 하나의 -ChildPath
매개변수만 사용합니다. 단일 명령어를 사용하여 Join-Path
를 통해 두 개 이상의 문자열을 파일 경로로 결합할 수 없습니다.
PowerShell에서 두 개 이상의 문자열을 파일 경로로 결합하려면 여러 개의 Join-Path
문을 함께 사용해야 합니다.
PowerShell에서 Join-Path
값을 사용하여 두 개 이상의 문자열을 파일 경로로 결합하기
Join-Path
경로 값은 파이프로 전달될 수 있으므로, 여러 개의 Join-Path
문을 함께 파이프하여 두 개 이상의 문자열을 파일 경로로 결합할 수 있습니다.
예를 들어 다음 코드는 네 개의 문자열을 결합하여 단일 경로 C:\content\software\PowerShell
을 생성합니다.
Join-Path -Path "C:" -ChildPath "content" | Join-Path -ChildPath "software" | Join-Path -ChildPath "PowerShell"
이 코드 조각에서는 Join-Path
cmdlet을 여러 번 사용하여 점진적으로 파일 경로를 구축하고 있습니다. 각 Join-Path
호출마다 현재 경로를 가져오고 다른 세그먼트를 추가하여 확장하고 있습니다.
이는 각 Join-Path
연산의 출력을 다음 연산으로 파이핑하여 최종 파일 경로를 조각별로 구성하는 방식으로 이루어집니다. 여기서 -ChildPath
매개변수가 중요하며, 기존 경로에 추가할 추가 세그먼트를 지정합니다.
결과적으로, 이 코드는 기본 경로 C:
와 이후의 문자열 content
, software
, 및 PowerShell
을 결합하여 완전한 파일 경로를 효과적으로 생성합니다.
출력:
PowerShell에서 자식 경로와 함께 여러 파일 경로 결합하기
여러 경로와 자식 경로를 결합하는 주요 목적은 PowerShell에서 완전한 파일 경로를 만드는 것입니다. 여러 경로와 자식 경로를 결합하는 방법을 이해함으로써 파일 경로를 동적으로 효율적으로 구성하고 PowerShell 스크립트의 유연성과 가독성을 높일 수 있습니다.
Join-Path -Path "Path1\", "Path2\" -ChildPath "Folder\File.txt"
이 코드 조각에서는 Join-Path
cmdlet을 사용하여 두 개의 경로(Path1
및 Path2
)와 자식 경로(Folder\File.txt
)를 병합하고 있습니다. -Path
매개변수를 통해 루트 경로의 배열을 전달하고 -ChildPath
로 자식 경로를 지정하여 완전한 파일 경로를 생성하고 있습니다.
따라서 출력은 제공된 자식 경로와 결합된 각 경로로 형성된 완전한 파일 경로를 제시합니다. 이 방법은 여러 경로를 단일 파일 경로에 통합하는 간단한 방법을 제공하여 PowerShell 스크립트의 다양성을 높입니다.
출력:
PowerShell에서 파일 시스템 드라이브의 루트를 자식 경로와 결합하기
여러 경로 루트와 자식 경로를 다룰 때, Join-Path
cmdlet은 배열 입력 및 -ChildPath
매개변수와 함께 서로 다른 경로 구성 요소를 일관된 파일 경로로 병합하는 효율적인 방법을 제공합니다.
Get-PSDrive
cmdlet의 맥락에서, -PSProvider
매개변수는 제공자가 속한 드라이브를 기반으로 드라이브를 필터링합니다.
Get-PSDrive -PSProvider filesystem | ForEach-Object { $_.root } | Join-Path -ChildPath "SubFolder"
이 코드 조각에서는 Get-PSDrive
cmdlet을 사용하여 모든 파일 시스템 드라이브의 루트 경로를 가져옵니다. 그런 다음 결과를 ForEach-Object
로 파이핑하여 각 루트 경로를 추출합니다.
이러한 루트 경로는 Join-Path
와 자식 경로 SubFolder
와 함께 전달됩니다. Join-Path
cmdlet은 각 루트 경로와 자식 경로를 결합하여 완전한 파일 경로를 생성합니다.
이 방법은 현재 시스템에서 접근할 수 있는 드라이브의 루트 경로에 따라 동적으로 파일 경로를 생성할 수 있게 해줍니다.
출력:
결론
결론적으로, PowerShell의 Join-Path
cmdlet은 문자열을 단일 파일 경로로 결합하는 유용한 도구입니다. 일반적으로 두 개의 문자열 입력이나 하나의 -ChildPath
매개변수만 받지만, 여러 Join-Path
문을 연결하여 이 제한을 극복할 수 있습니다.
이 문서에서는 Join-Path
를 사용하여 파일 경로로 여러 문자열을 결합하는 다양한 방법을 탐구했습니다. 여기에는 cmdlet을 여러 번 연속적으로 사용하거나 하나의 Join-Path
연산의 출력을 다른 연산으로 파이핑하는 방법이 포함됩니다. 이러한 기술을 이해함으로써 PowerShell 스크립트에서 다양한 시나리오와 요구 사항에 따라 동적으로 파일 경로를 구성할 수 있습니다.
관련 문장 - PowerShell String
- PowerShell에서 문자열이 NULL이 아니거나 비어 있지 않은지 확인하는 방법
- PowerShell에서 배열 객체를 문자열로 변환하는 방법
- PowerShell에서 하위 문자열의 위치 찾는 방법
- PowerShell을 사용하여 파일의 텍스트를 대체하는 방법
- PowerShell의 문자열 보간
- 문자열의 시작을 확인하는 방법: PowerShell 사용