ค้นหาเว็บไซต์

PowerShell: ตรวจสอบว่าไฟล์ได้รับการแก้ไขใน 24 ชั่วโมงที่ผ่านมาหรือไม่


คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ใน PowerShell เพื่อตรวจสอบว่าไฟล์ได้รับการแก้ไขใน 24 ชั่วโมงที่ผ่านมาหรือไม่:

if ((Get-Date) - (ls c:\users\bobbi\nba_data.xlsx).LastWriteTime).Days -lt 1)
{
echo "File modified in last 24 hours"
}
else
{
echo "File not modified in last 24 hours"
}

ตัวอย่างนี้จะตรวจสอบว่าไฟล์ชื่อ nba_data.csv ได้รับการแก้ไขใน 24 ชั่วโมงที่ผ่านมาหรือไม่

หากได้รับการแก้ไข ไฟล์ที่แก้ไขใน 24 ชั่วโมงที่ผ่านมา จะถูกส่งคืน

หากไม่ได้รับการแก้ไข ไฟล์ที่ไม่มีการแก้ไขใน 24 ชั่วโมงที่ผ่านมา จะถูกส่งคืน

ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ

ตัวอย่าง: วิธีตรวจสอบว่าไฟล์ได้รับการแก้ไขใน 24 ชั่วโมงที่ผ่านมาโดยใช้ PowerShell หรือไม่

สมมติว่าเรามีไฟล์ชื่อ nba_data.xlsx ซึ่งเราไม่ได้แก้ไขมาหลายเดือนแล้ว

สมมติว่าไฟล์นี้ถูกบันทึกในตำแหน่งต่อไปนี้:

c:\users\bobbi\nba_data.xlsx

เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่าไฟล์นี้ได้รับการแก้ไขใน 24 ชั่วโมงที่ผ่านมาหรือไม่:

if ((Get-Date) - (ls c:\users\bobbi\nba_data.xlsx).LastWriteTime).Days -lt 1)
{
echo "File modified in last 24 hours"
}
else
{
echo "File not modified in last 24 hours"
}

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

PowerShell ส่งคืน ไฟล์ที่ไม่มีการแก้ไขใน 24 ชั่วโมงที่ผ่านมา เนื่องจากไฟล์ไม่ได้รับการแก้ไขจริงๆ ใน 24 ชั่วโมงที่ผ่านมา

หากเราต้องการ เราจะเห็นว่าไฟล์ได้รับการแก้ไขครั้งล่าสุดเมื่อใดโดยใช้ไวยากรณ์ต่อไปนี้:

(ls c:\users\bobbi\nba_data.xlsx).LastWriteTime

ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:

เราจะเห็นว่าไฟล์มีการแก้ไขครั้งล่าสุดเมื่อ 23 ตุลาคม 2023

ขณะนี้บทช่วยสอนนี้เขียนขึ้นในวันที่ 26 กุมภาพันธ์ 2024 ซึ่งเป็นสาเหตุที่ PowerShell แจ้งเราว่าไฟล์ไม่ได้รับการแก้ไขใน 24 ชั่วโมงที่ผ่านมา

หมายเหตุ: เราใช้ Get-Date cmdlet เพื่อรับวันที่และเวลาปัจจุบัน

บทความที่เกี่ยวข้อง