PowerShell을 사용하여 파일 확장명 가져오기
-
PowerShell에서
Split-Path
를 사용하여 파일 확장명 가져오기 -
PowerShell에서
Get-ChildItem
Cmdlet을 사용하여 파일 확장명 가져오기 -
PowerShell에서
.NET
프레임워크를 사용하여 파일 확장명 가져오기
일반적으로 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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn