경로에서 파일 이름 추출
아래 경로에서 파일 이름을 추출합니다.
D:\Server\사용자\CUST\MEA\Data\입력\파일\수정필 \CUST_MEAFile.csv
이 코드는 파일명을 얻기 위해 작성했습니다.폴더 레벨이 변경되지 않는 한 정상적으로 동작합니다.그러나 폴더 레벨이 변경된 경우 이 코드를 다시 작성해야 합니다.폴더 레벨에 관계없이 코드가 항상 파일명을 추출할 수 있는 등 유연하게 할 수 있는 방법을 찾고 있습니다.
($outputFile).split('\')[9].substring(0)
확장자를 포함해도 문제가 없다면 원하는 대로 해야 합니다.
$outputPath = "D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv"
$outputFile = Split-Path $outputPath -leaf
[System.IO.Path]::GetFileName("c:\foo.txt")
돌아온다foo.txt
.[System.IO.Path]::GetFileNameWithoutExtension("c:\foo.txt")
돌아온다foo
Get-ChildItem에서 BaseName을 사용하면 파일 이름이 표시되고 Name을 사용하면 파일 이름과 확장자가 표시됩니다.
$filepath = Get-ChildItem "E:\Test\Basic-English-Grammar-1.pdf"
$filepath.BaseName
출력:
기본 영어 문법 1
$filepath.Name
출력:
기본 영어 문법 1.pdf
와일드카드를 사용하여 파일을 검색하여 파일 이름을 가져옵니다.
Resolve-Path "Package.1.0.191.*.zip" | Split-Path -leaf
$(Split-Path "D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv" -leaf)
Get-ChildItem "D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv"
|Select-Object -ExpandProperty Name
다음과 같이 시험해 보십시오.
[System.IO.FileInfo]$path = "D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv"
# Returns name and extension
$path.Name
# Returns just name
$path.BaseName
이렇게 하면 원하는 결과를 얻을 수 있어요.
$file = "D:\Server\User\CUST\MEA\Data\In\Files\CORRECTED\CUST_MEAFile.csv"
$a = $file.Split("\")
$index = $a.count - 1
$a.GetValue($index)
Get-ChildItem을 사용하여 "fullname"을 가져올 경우 "name"을 사용하여 파일 이름만 가져올 수도 있습니다.
를 사용하는 angulsen의 답변을 완성하기 위해서입니다.그물.
이 코드에서는 패스는 다음 코드에 저장됩니다.%1
인수(탈락된 따옴표 아래 레지스트리에 기재되어 있습니다.\"%1\"
를 취득하기 위해서는,$arg
(내장 arg).에 대한 인용문을 잊지 마세요.
# Get the file path:
$FilePath = $args
Write-Host "FilePath: " $FilePath
# Get the complete file name:
$file_name_complete = [System.IO.Path]::GetFileName("$FilePath")
Write-Host "fileNameFull :" $file_name_complete
# Get file name without the extension:
$fileNameOnly = [System.IO.Path]::GetFileNameWithoutExtension("$FilePath")
Write-Host "fileNameOnly :" $fileNameOnly
# Get the file extension:
$fileExtensionOnly = [System.IO.Path]::GetExtension("$FilePath")
Write-Host "fileExtensionOnly :" $fileExtensionOnly
$file = Get-Item -Path "c:/foo/foobar.txt"
$file.Name
상대 경로와 절대 경로 모두에서 작동
언급URL : https://stackoverflow.com/questions/35813186/extract-the-filename-from-a-path
'programing' 카테고리의 다른 글
PowerShell의 Invoke-RestMethod는 curl -u(기본인증)에 상당합니다. (0) | 2023.04.08 |
---|---|
Windows에서 /usr/local/ssl/openssl.cnf에서 구성 정보를 로드할 수 없습니다. (0) | 2023.04.08 |
항상 nvarchar(MAX)를 사용할 경우 단점이 있습니까? (0) | 2023.04.08 |
MIME 유형으로 인해 스타일시트가 로드되지 않음 (0) | 2023.04.08 |
리액트 - 스타일 컴포넌트를 사용한 패싱 소품 (0) | 2023.04.03 |