Saturday, April 23, 2022

7:55 AM

 อันนี้ต้องแปะเอาไว้ แม้จะไม่เกี่ยวข้องกับ Filemaker โดยตรง แต่ว่า Server เป็น Macmini ก็เลยต้องใช้งาน 

เรื่องมีอยู่ว่า ต้องทำการ save file บน server แบบอัตโนมัติผ่าน filemaker ซึ่งก็สำเร็จได้ด้วยดี แต่ว่าการลบไฟล์ที่มีอายุเกินกำหนดนั้นเป็นปัญหา ต้องใช้คุณสมบัติบน macOS จึงจะสามารถลบได้ แต่ก็ติดปัญหาว่าลบได้ยากเย็นมาก ต้องใช้งาน Apple Script ในการลบ

หลังจากงมอยู่สองวันก็ได้แนวทางในการลบ ดังนี้ ( เอาไปใช้ได้เลย ลองมาแล้ว )

1. เปิด Automator แล้วเลือกสร้างเป็น Application

2. เลือก run apple script จากนั้นก็เอา code แปะได้เลย

tell application "Finder"

    with timeout of 86400 seconds

    set day_ago to (current date) - 7 * days

    delete (every item of folder "HDD:Users:pigaju:Desktop:pdf:" whose creation date comes before day_ago)

    end timeout

end tell


3. save file ไว้ที่ชอบๆ
4. เปิด calendar เพื่อทำการตั้ง schedule run file นี้ในวันและเวลาที่ต้องการ
จบกระบวนการ

อธิบาย

tell application "Finder" -- บอก Macos ให้ไปทำงานที่ Finder


with timeout of 86400 seconds -- ตั้งหมดเวลาการ run script นี้ไว้ที่ 1 วันไปเลย


set day_ago to (current date) - 7 * days -- ตั้งค่า day_ago ให้นับถอยหลังจากวันปัจจุบันไป 7 วัน


delete (every item of folder "HDD:Users:pigaju:Desktop:pdf:" whose creation date comes before day_ago) -- ลบทุุก file ที่มีอายุเกิน 7 วัน ใน folder pdf ที่อยู่บน desktop ของ user ชื่อ pigaju ซึ่งมันอยู่ใน folder Users ของ Hard disk ที่ชื่อ HDD อีกที


end timeout -- ถ้า script มันเลย 1 วัน ก็ขยายวินาทีข้างบนได้อีก 


end tell


จบข่าว - ใช้งานได้ดี มีประโยชน์มากมาย

บทความอื่นๆ