지 엄격하게 필요한 구문 분석하의 문자열로 날짜([datetime]
인스턴스):기 때문에 날짜 문자열 에 포함된 파일의 이름은 형식으로 그들의 어휘 를 정렬 해당을 연대순으로 정렬을 비교할 수 있습니다 문자열 표현이 직접:
# Simulate output from a Get-ChildItem call.
$files = [System.IO.FileInfo[]] (
"test_20211122_aba1.txt",
"abc_20211129_efg2.txt",
"hij_20211112_lmn3.txt",
"hij_20211112_lmn4.txt",
"opq_20211130_rst5.txt"
)
# Filter the array of files.
$resultFiles =
$files | Where-Object {
$_.Name -match '(?:^|.*\D)(\d{8})(?:\D.*|$)' -and
$Matches[1] -gt ('2021/11/28"' -replace '/')
}
# Print the names of the filtered files.
$resultFiles.Name
$_.Name -match '(?:^|.*\D)(\d{8})(?:\D.*|$)'
를 찾(마지막)가 실행되는 정확하게의 8 자리에서 각각의 파일 이름 통해 캡처 그룹((...)
),에 반영동 $Matches
변수의 항목으로 인덱스 1
($Matches[1]
)이후에 발견하는 경우.
'2021/11/28"' -replace '/'
모두 제거합니다 /
에서 문자를 입력 문자열하게 날짜의 형식 문자열은 동일합니다. 간결하게 하기 위해 위의 솔루션을 수행 교체 각 루프에서 작동. 에서 연습을 할 것이라 그것은 일단전에,반복,그리고 지정 결과는 변수에 사용하기 위해 루프 안에서.