แก้ไขไฟล์ Plist อัตโนมัติด้วย Automator


0

ดังนั้นฉันต้องการแก้ไขคุณสมบัติไฟล์ plist โดยใช้ automator ฉันต้องเปลี่ยนค่าของคีย์เพื่อให้มันตั้งค่าเป็น 1 นาทีก่อนที่แอป automator จะเปิดตัว ฉันค่อนข้างใหม่สำหรับสิ่งนี้และฉันต้องการความช่วยเหลือ ...

สำหรับการกล่าวว่าSULastCheckTimeฉันจะต้องตั้งค่าเป็นJun 1, 2017, 8:52:56 PMถ้าแอพอัตโนมัติเปิดตัวที่ 8:53 ในวันที่ 1 มิถุนายน 2017 ...

ขอบคุณ

คำตอบ:


0

คุณต้องเพิ่มการดำเนินการเชลล์สคริปต์ลงในสคริปต์อัตโนมัติของคุณและทำการตั้งค่าจริงในเชลล์สคริปต์ ฉันไม่เชื่อว่าเป็นไปได้ที่จะได้รับเวลาเริ่มต้นของสคริปต์อัตโนมัติดังนั้นคุณจะต้องชำระด้วยการประทับเวลาที่สัมพันธ์กับเวลาที่เรียกใช้สคริปต์เชลล์ หากคุณต้องการเวลาเริ่มต้นจริงๆคุณจะต้องเพิ่มการกระทำเพื่อบันทึกด้วยตัวคุณเองเป็นขั้นตอนแรกในสคริปต์อัตโนมัติ

ในเชลล์การคำนวณเวลาจะทำกับวันที่

date -v 1M

ให้เวลาคุณหนึ่งนาทีก่อน หากคุณต้องการฟอร์แมตในรูปแบบเฉพาะที่คุณให้ไว้ข้างต้นคุณต้องฟอร์แมตด้วยตัวเองเช่นนั้น

date -v -1M '+%b %d, %Y, %H:%M:%S %p'

ที่นี่% b,% d ฯลฯ เป็นผู้ถือตำแหน่งสำหรับส่วนประกอบการประทับเวลาต่างๆ ดูหน้าคนสำหรับ strftime

ถัดไปคุณต้องรู้วิธีการเปลี่ยนไฟล์ plist คุณสามารถใช้พลู ธ ในการทำเช่นนั้นได้

plutil -replace SULastCheckTime -string newvalue foo.plist

เมื่อรวมเข้าด้วยกันแล้วเชลล์สคริปต์สามารถอ่านได้

time=`date -v -1M '+%b %d, %Y, %H:%M:%S %p'`
plutil -replace SULastCheckTime -string "$time" foo.plist

ที่นี่ backticks ใช้การส่งออกของวันที่และวางไว้ในเวลาตัวแปร; พลูติลจะนำไปไว้ในไฟล์

หากคุณจะใช้เชลล์สคริปต์อยู่แล้วคุณอาจลองวางออโตเมติกโดยรวมเพื่อสนับสนุนเชลล์สคริปต์

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.