วิธีรับวันที่แก้ไขไฟล์ใน PowerShell - คำถามที่พบบ่อยของ PowerShell
หากคุณต้องการทราบวิธีรับวันที่แก้ไขไฟล์ใน PowerShell โปรดดูบทช่วยสอนนี้โดยสมบูรณ์ ในโพสต์บล็อกนี้ เราจะสำรวจวิธีการต่างๆ เพื่อดึงวันที่แก้ไขไฟล์โดยใช้ PowerShell
หากต้องการรับวันที่แก้ไขไฟล์ใน PowerShell คุณสามารถใช้ Get-Item cmdlet ตามด้วยคุณสมบัติ LastWriteTime ตัวอย่างเช่น $file=รับรายการ 'C:\MyFolder\file.txt'; $file.LastWriteTime จะส่งคืนวันที่และเวลาที่แก้ไขล่าสุดสำหรับไฟล์ที่ระบุ สำหรับไฟล์หลายไฟล์ ให้ใช้ Get-ChildItem และวนซ้ำผลลัพธ์เพื่อเข้าถึงคุณสมบัติ LastWriteTime
รับวันที่แก้ไขไฟล์ใน PowerShell โดยใช้ Get-Item Cmdlet
Get-Item cmdlet ใน PowerShell เป็นหนึ่งในวิธีที่ง่ายที่สุดในการดึงข้อมูลวันที่แก้ไขล่าสุดของไฟล์เดียว โดยให้ข้อมูลเกี่ยวกับออบเจ็กต์ไฟล์ รวมถึงคุณสมบัติของออบเจ็กต์ เช่น LastWriteTime ซึ่งระบุเวลาล่าสุดที่มีการเขียนไฟล์
นี่คือสคริปต์ PowerShell ที่สมบูรณ์
$file = Get-Item "C:\MyFolder\MyFile.txt"
$lastModified = $file.LastWriteTime
$lastModifiedสคริปต์นี้จะกำหนดคุณสมบัติของไฟล์ให้กับตัวแปร $file จากนั้นแยกคุณสมบัติ LastWriteTime โดยจัดเก็บไว้ในตัวแปร $lastModified
คุณสามารถดูภาพหน้าจอด้านล่างหลังจากที่ฉันรันสคริปต์โดยใช้โค้ด VS
รับวันที่แก้ไขไฟล์ทั้งหมดใน PowerShell โดยใช้ Get-ChildItem Cmdlet
หากต้องการดึงข้อมูลวันที่แก้ไขล่าสุดของหลายไฟล์ภายในไดเร็กทอรี Get-ChildItem cmdlet ใน PowerShell cmdlet นี้สามารถใช้เพื่อแสดงรายการในตำแหน่งที่ระบุตั้งแต่หนึ่งตำแหน่งขึ้นไป หากคุณต้องการดูวันที่แก้ไขล่าสุดสำหรับไฟล์ทั้งหมดในไดเร็กทอรี คุณสามารถใช้สคริปต์ PowerShell ต่อไปนี้:
$files = Get-ChildItem "C:\MyFolder"
foreach ($file in $files) {
$lastModified = $file.LastWriteTime
Write-Host "$($file.Name) was last modified on $lastModified"
}สคริปต์ PowerShell นี้จะวนซ้ำแต่ละไฟล์ในไดเร็กทอรีที่ระบุ โดยส่งออกชื่อไฟล์และวันที่แก้ไขล่าสุดไปยังคอนโซล
ตรวจสอบภาพหน้าจอด้านล่าง:
จัดรูปแบบเอาต์พุตวันที่
บางครั้ง คุณอาจต้องการจัดรูปแบบเอาต์พุตวันที่เป็นรูปแบบเฉพาะ PowerShell ทำให้สิ่งนี้เป็นเรื่องง่ายด้วยเมธอด ToString() ซึ่งสามารถนำไปใช้กับออบเจ็กต์วันที่ได้
$file = Get-Item "C:\MyFolder\file.txt"
$lastModified = $file.LastWriteTime.ToString("MM/dd/yyyy HH:mm:ss")ตัวอย่างนี้จะจัดรูปแบบวันที่แก้ไขล่าสุดให้แสดงในรูปแบบเดือน/วัน/ปี ตามด้วยชั่วโมง:นาที:วินาที
กรองไฟล์ตามวันที่แก้ไขใน PowerShell
หากคุณกำลังมองหาไฟล์ที่แก้ไขภายในช่วงวันที่ที่กำหนด คุณสามารถรวม Get-ChildItem เข้ากับ Where-Object cmdlet เพื่อกรองผลลัพธ์
นี่คือสคริปต์ PowerShell ที่จะแสดงรายการไฟล์ที่ได้รับการแก้ไขในช่วง 30 วันที่ผ่านมานับจากวันที่ปัจจุบัน
$dateCutoff = (Get-Date).AddDays(-30) # Files modified in the last 30 days
$files = Get-ChildItem "C:\path\to\directory" | Where-Object { $_.LastWriteTime -gt $dateCutoff }รับโฟลเดอร์วันที่แก้ไขล่าสุดใน PowerShell
หากคุณต้องการรวมไดเร็กทอรีในการค้นหาของคุณและดึงข้อมูลวันที่แก้ไขล่าสุด คุณสามารถแก้ไข Get-ChildItem cmdlet เพื่อรวมพารามิเตอร์ -Directory ได้
นี่คือสคริปต์ PowerShell
$directories = Get-ChildItem "C:\MyFolder" -Directory
foreach ($dir in $directories) {
$lastModified = $dir.LastWriteTime
Write-Host "$($dir.Name) was last modified on $lastModified"
}สคริปต์นี้จะส่งออกชื่อและวันที่แก้ไขล่าสุดของแต่ละไดเร็กทอรีภายในเส้นทางที่ระบุ
บทสรุป
PowerShell มีหลายวิธีในการเรียกข้อมูลวันที่แก้ไขไฟล์ ในบทช่วยสอนนี้ ฉันได้อธิบายวิธีรับวันที่แก้ไขไฟล์ใน PowerShell วิธีที่ง่ายที่สุดคือการใช้ Get-Item Cmdlet ใน PowerShell

