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 เพื่อรับวันที่และเวลาปัจจุบัน

