PowerShell 스크립트를 사용하여 디렉토리에서 최신 파일을 찾는 방법은 무엇입니까?
예를 들어 다음 파일이 포함된 디렉토리가 있는 경우:
Test-20120626-1023.txt
Test-20120626-0710.txt
Test-20120626-2202.txt
Test-20120626-1915.txt
Test-20120626-1142.txt
보시다시피 각 파일 이름에는 정렬 가능한 형식의 작성 시간이 포함되어 있습니다.
최신 파일 이름을 찾는 방법(이 경우)Test-20120626-2202.txt
) 변수에 저장하시겠습니까?
참고: 디렉터리 경로도 변수에 저장됩니다.
다음과 같은 방법을 사용할 수 있습니다.
$dir = "C:\test_code"
$latest = Get-ChildItem -Path $dir | Sort-Object LastAccessTime -Descending | Select-Object -First 1
$latest.name
이름이 파일 속성의 동일한 작성 시간인 경우CreationTime
다음을 쉽게 사용할 수 있습니다.
$a = Dir | Sort CreationTime -Descending | Select Name -First 1
그리고나서
$a.name
이름 파일이 들어 있습니다.
이름의 형식이 항상 동일한 경우(예: 20120102-0001)에도 다음과 같이 작동합니다.
$a = Dir | Sort Name -Descending | Select Name -First 1
만약 당신이 많은 파일들을 가지고 작업하고 싶은 것은-Filter
실행 시간이 크게 줄어들기 때문에 매개 변수가 필요로 합니다.
James가 제공한 예를 바탕으로 다음과 같이 사용할 수 있습니다.
$dir = "C:\test_code"
$filter="*.txt"
$latest = Get-ChildItem -Path $dir -Filter $filter | Sort-Object LastAccessTime -Descending | Select-Object -First 1
$latest.name
어떤 이유로 파일 생성 날짜가 파일 이름에 스탬프로 표시된 날짜와 다른 경우 파일 이름을 datetime 개체로 구문 분석하고 식을 기준으로 정렬할 수 있습니다.
$file = Get-ChildItem |
Sort-Object { [DateTime]::ParseExact($_.BaseName,'\Te\s\t\-yyyyMMdd\-HHmm',$null) } |
Select-Object -Last 1
마지막으로 업데이트된 파일을 가져오는 데 사용합니다.쓰기 쉽습니다.
ls | sort LastWriteTime
언급URL : https://stackoverflow.com/questions/11210649/how-do-i-find-the-newest-file-in-a-directory-using-a-powershell-script
'programing' 카테고리의 다른 글
인터넷을 통해 MYSQL 사용자 액세스 가능 (0) | 2023.07.26 |
---|---|
사용자가 입력할 때마다 요청을 실행하지 않도록 키프레스 기능을 지연시키는 방법은 무엇입니까? (0) | 2023.07.26 |
[ngClass]와 [class] 바인딩의 차이 (0) | 2023.07.26 |
Sequetize.js: 마이그레이션 및 동기화 사용 방법 (0) | 2023.07.26 |
Android 앱을 시장에 게시하기 전에 "해야 할 작업" 목록 (0) | 2023.07.26 |