PowerShell을 사용하여 파일 확장명 가져오기

Marion Paul Kenneth Mendoza 2023년1월30일
  1. PowerShell에서 Split-Path를 사용하여 파일 확장명 가져오기
  2. PowerShell에서 Get-ChildItem Cmdlet을 사용하여 파일 확장명 가져오기
  3. PowerShell에서 .NET 프레임워크를 사용하여 파일 확장명 가져오기
PowerShell을 사용하여 파일 확장명 가져오기

일반적으로 PowerShell 스크립트에서 작업하는 동안 전체 경로에서 파일 이름을 추출해야 합니다. 예를 들어 스크립트가 전체 파일 경로를 받았고 파일 확장자만 가져오려고 합니다.

이 문서에서는 PowerShell 스크립팅을 사용하는 여러 파일 확장 방법에 대해 설명합니다.

PowerShell에서 Split-Path를 사용하여 파일 확장명 가져오기

파일 이름에서 확장자를 분리하기 위해 -Leaf 매개변수를 사용하여 확장자를 추출할 위치를 나타낼 수 있습니다. 잎은 경로의 마지막 요소 또는 일부입니다.

$filePath = "C:\temp\subfolder\File1.txt";
$extension = (Split-Path -Path $filePath -Leaf).Split(".")[1];
Write-Output $extension

출력:

txt

코드 스니펫에서 제공된 경로를 분할하는 Split() 함수를 호출했음을 알 수 있습니다.

우리는 점 .을 사용했습니다. 파일 이름과 확장자가 점 구분 기호로 구분되기 때문에 구분 기호로 사용됩니다. 그런 다음 배열을 [1] 저장된 확장 값이라고 불렀습니다.

배열 [0]을 호출하면 경로의 파일 이름을 얻을 수 있습니다.

예제 코드:

(Split-Path -Path $filePath -Leaf).Split(".")[0];

출력:

File1

점 문자를 구분 기호로 사용하기 때문에 이 방법은 파일 이름에 다른 점이 포함되지 않은 경우에만 작동합니다. 점 문자가 파일 이름에 포함될 수 있음을 기억하십시오.

PowerShell에서 Get-ChildItem Cmdlet을 사용하여 파일 확장명 가져오기

Get-ChildItem 명령은 하나 이상의 지정된 위치에 있는 항목을 가져옵니다. 예를 들어 개체가 컨테이너인 경우 해당 컨테이너 내부의 항목을 가져옵니다. 이를 자식 항목이라고 합니다.

위치는 디렉터리와 같은 파일 시스템이거나 다른 Windows PowerShell 공급자에 의해 노출된 사이트일 수 있습니다. Get-ChildItem 명령은 파일 시스템 드라이브의 디렉터리, 하위 디렉터리 및 파일을 가져옵니다.

Get-ChildItem cmdlet은 파일을 처리하므로 쿼리된 파일의 확장명을 가져오기 위해 내보낼 수 있는 PowerShell 속성 특성이 있습니다.

Split-Path cmdlet과 달리 이 방법은 파일 이름에 점 문자가 있더라도 확장자를 올바르게 전달할 수 있습니다.

예제 코드:

Get-ChildItem 'C:\temp\file.1.txt' | Select Extension

출력:

Extension
---------
.txt

PowerShell에서 .NET 프레임워크를 사용하여 파일 확장명 가져오기

다음 접근 방식은 .NET 프레임워크 클래스를 기반으로 합니다. PowerShell 스크립트에서 .NET 프레임워크 클래스를 사용하는 것은 일반적으로 권장되지 않지만 특히 기본 PowerShell 명령을 사용할 수 있는 경우 이 특정 사용 사례에 적합할 수 있습니다.

아래 예에서 파일 이름이 주어지면 System.IO.Path 클래스의 GetExtension 정적 메서드를 사용합니다.

예제 코드:

[System.IO.Path]::GetExtension("File1.txt")

출력:

.txt

파일 이름을 얻으려면 대신 GetFileNameWithoutExtension 정적 메서드를 사용할 수도 있습니다.

예제 코드:

[System.IO.Path]::GetFileNameWithoutExtension("File1.txt")

출력:

File1
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

관련 문장 - PowerShell File