PowerShell에서 파일 이름에서 경로와 확장자를 제거하는 방법

  1. PowerShell에서 BaseName 속성을 사용하여 파일 이름에서 경로와 확장자 제거
  2. PowerShell에서 파일 이름에서 경로와 확장자 제거를 위한 System.IO.Path 클래스 사용
  3. 결론
PowerShell에서 파일 이름에서 경로와 확장자를 제거하는 방법

PowerShell은 시스템에서 다양한 파일 작업을 처리하는 것을 지원합니다. PowerShell에서 파일을 생성, 복사, 이동, 이름 변경, 편집, 삭제 및 보기와 같은 작업을 수행할 수 있습니다.

PowerShell에는 파일의 이름 전체 경로확장자를 얻기 위해 사용할 수 있는 다양한 cmdlet이 있습니다. 시스템에서 파일을 작업할 때 경로와 확장자를 제외한 파일 이름을 가져와야 할 수도 있습니다.

이 튜토리얼에서는 PowerShell에서 파일 이름에서 경로와 확장자를 제거하는 방법을 배울 것입니다.

PowerShell에서 BaseName 속성을 사용하여 파일 이름에서 경로와 확장자 제거

PowerShell의 Get-Item cmdlet은 파일 및 디렉터리와 같은 파일 시스템의 항목 속성을 검색하는 데 사용되는 다목적 도구입니다. 이 속성 중 하나가 .BaseName으로, 우리의 목적에 특히 유용합니다.

예:

(Get-Item "sample.txt").BaseName

이 예에서는 스크립트가 sample.txt가 현재 디렉터리에 있는 파일이라고 가정합니다. 파일이 다른 디렉터리에 있는 경우 전체 경로를 포함해야 하며, 예: C:\folder\sample.txt와 같습니다.

(Get-Item "sample.txt").BaseName을 실행하면 PowerShell은 두 가지 주요 작업을 수행합니다.

첫째, Get-Item "sample.txt"sample.txt에 해당하는 파일 개체를 검색합니다. 그런 다음, .BaseName은 이 파일 개체의 속성에 접근하여 확장자가 없는 파일 이름을 포함합니다.

출력:

파워셸에서 파일 이름에서 경로와 확장자를 제거 - 출력 1

여러 파일에서 경로와 확장자를 제거하려는 경우 Get-ChildItem cmdlet을 사용할 수 있습니다. 다음 명령은 PowerShell에서 경로와 확장자 없이 여러 파일 이름을 가져오는 방법을 보여줍니다.

(Get-ChildItem "*.txt").BaseName

이 코드 줄은 지정된 디렉터리에 있는 모든 .txt 파일의 기본 이름(확장자가 없는 파일 이름)을 나열합니다.

  • Get-ChildItem "*.txt": 이 명령은 지정된 디렉터리에서 모든 .txt 파일을 가져옵니다.

  • .BaseName: 이 속성은 Get-ChildItem에 의해 반환된 각 파일 개체에 대해 접근되어 확장자가 없는 파일 이름만 추출합니다.

출력:

파워셸에서 파일 이름에서 경로와 확장자를 제거 - 출력 2

System.IO.FileInfo 클래스를 사용하여 확장자 없이 파일 이름을 얻을 수도 있습니다.

System.IO.FileInfo는 파일 생성, 복사, 삭제, 이동 및 열기를 위한 속성과 인스턴스 메서드를 제공하는 .NET 클래스입니다. 또한 파일의 이름, 경로, 크기 등에 대한 자세한 정보를 제공합니다.

예:

([System.IO.FileInfo]"sample.txt").BaseName

이 줄은 sample.txt가 현재 디렉터리에 있는 파일이라고 가정합니다. 파일이 다른 위치에 있다면 전체 경로를 지정해야 하며, 예: C:\path\to\sample.txt와 같습니다.

이 예에서 ([System.IO.FileInfo]"sample.txt")는 파일 sample.txt에 대한 FileInfo 개체를 생성합니다. 이 개체는 파일에 대한 자세한 정보를 포함합니다.

이 개체의 .BaseName 속성에 접근하여 확장자 없는 파일 이름을 검색합니다.

출력:

파워셸에서 파일 이름에서 경로와 확장자를 제거하기 - 출력 3

PowerShell에서 파일 이름에서 경로와 확장자 제거를 위한 System.IO.Path 클래스 사용

System.IO.Path 클래스는 파일 경로 문자열의 조작을 위한 수많은 메서드를 제공합니다. 특히 GetFileNameWithoutExtension 메서드는 전체 경로 문자열에서 확장자를 제외한 파일 이름을 얻는 데 사용됩니다.

예:

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

이 예는 sample.txt가 디렉터리 경로 없이 파일 이름을 나타낸다고 가정합니다. 파일이 다른 디렉터리에 위치해 있다면 전체 경로를 포함해야 하며, 예: "C:\folder\sample.txt"와 같습니다.

[System.IO.Path]::GetFileNameWithoutExtension("sample.txt")를 사용하면 PowerShell은 System.IO.Path 클래스의 GetFileNameWithoutExtension 메서드를 활용하여 문자열 "sample.txt"를 처리합니다. 이 메서드는 문자열을 지능적으로 구문 분석하고, 파일 확장자를 식별하여 제거하며, 기본 파일 이름만 반환합니다.

이 메서드는 매우 효율적이며 실제 파일이 존재할 필요가 없으며, 순수하게 문자열 수준에서 작동합니다.

출력:

파일 이름에서 경로와 확장자를 제거하는 PowerShell - 출력 4

결론

결론적으로, PowerShell에서 파일 조작을 마스터하는 것은 효율적인 시스템 관리를 위한 필수 요소이며, 이 기사는 다양한 방법을 사용하여 파일 이름에서 경로와 확장자를 제거하는 데 중점을 두었습니다. 개별 파일에 대한 간단한 (Get-Item "sample.txt").BaseName에서 시작하여, (Get-ChildItem "C:\Users\rhntm\*.txt").BaseName를 사용하여 여러 파일을 처리하는 방법으로 나아갔으며, 대량 작업에 유용한 접근 방법입니다.

객체 지향적인 [System.IO.FileInfo] 클래스와 ([System.IO.FileInfo]"sample.txt").BaseName는 파일에 대한 자세한 정보를 제공하며, 문자열 조작의 힘인 [System.IO.Path]::GetFileNameWithoutExtension("sample.txt").NET 클래스의 힘을 보여줍니다. 이러한 방법은 PowerShell의 다재다능성을 exemplify하며, 전문성을 심화시키고자 하는 사람은 전체 파일 경로 작업 및 파일 확장자 추출과 같은 관련 주제를 탐색하는 것이 논리적 진행이며, 포괄적인 시스템 스크립팅 및 자동화 작업을 위해 PowerShell의 잠재력을 완전히 열어줄 것입니다.

튜토리얼이 마음에 드시나요? DelftStack을 구독하세요 YouTube에서 저희가 더 많은 고품질 비디오 가이드를 제작할 수 있도록 지원해주세요. 구독하다
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

관련 문장 - PowerShell File