คุณไม่เข้มงวดต้องการวิเคราะห์ของคุณใช้เส้นสายในวันที่([datetime]
โห):เพราะว่าวัน เชือก ฝังอยู่ในแฟ้มของคุณชื่ออยู่ในรูปแบบที่พวกเขา lexical การเรียงลำดับเป็นค่า chronological การเรียงลำดับ,คุณสามารถเปรียบเทียบข้อควา representations โดยตรง:
# 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 '/'
เอาทุก /
ตัวอักษรจากข้อมูลข้อความเพื่อสร้างรูปแบบของวันที่ใช้เส้นสายเหมือนกัน สำหรับ brevity งแก้ปัญหาอยู่เหนือ performs นี้แทนที่ ในแต่ละเรื่องปฏิบัติการ. ในการฝึกนะอคุณจะแสดงมัน ครั้งก่อนที่วและกำหนดผลเป็นตัวแปรสำหรับใช้ภายในด้วยนะ