เมื่อเราสร้าง 'โฟลเดอร์ใหม่' ในตัวค้นหามันจะตั้งชื่อ 'โฟลเดอร์ที่ไม่มีชื่อ' โดยอัตโนมัติ
เป็นไปได้ไหมที่จะเปลี่ยนชื่อโฟลเดอร์เริ่มต้นเป็นชื่อวันที่ปัจจุบันเช่น "20151223"
เมื่อเราสร้าง 'โฟลเดอร์ใหม่' ในตัวค้นหามันจะตั้งชื่อ 'โฟลเดอร์ที่ไม่มีชื่อ' โดยอัตโนมัติ
เป็นไปได้ไหมที่จะเปลี่ยนชื่อโฟลเดอร์เริ่มต้นเป็นชื่อวันที่ปัจจุบันเช่น "20151223"
คำตอบ:
ด้วยความช่วยเหลือของ AppleScript คุณสามารถทำได้
เปิด AppleScript Editor สร้างเอกสารใหม่และวางบรรทัดที่ถูกขโมยต่อไปนี้:
tell application "Finder"
try
if exists Finder window 1 then
set thisPath to (the target of the front window) as alias
else
set thisPath to (path to desktop)
end if
on error
return
end try
end tell
set x to my the_perfect_datestring()
if x is not "-ERROR" then
set fullPath to thisPath & x as text
tell application "Finder"
try
--activate
if not (exists fullPath) then
set y to make new folder at thisPath with properties {name:x}
end if
activate
open y
end try
end tell
end if
on the_perfect_datestring()
try
set cd to (the current date)
set the_year to year of (cd) as number
set the_month to month of (cd) as number
set the_day to day of (cd) as number
if the_month < 10 then set the_month to "0" & the_month
if the_day < 10 then set the_day to "0" & the_day
return ((the_year & the_month & the_day) as string)
on error
return "-ERROR"
end try
end the_perfect_datestring
บันทึกไฟล์เป็นแอปพลิเคชัน AppleScript (เช่น DateFolder.app) ที่ใดที่หนึ่ง (เช่น ~ / Applications)
เปิดโฟลเดอร์และวาง DateFolder.app บนแถบเครื่องมือ:
หากต้องการสร้างโฟลเดอร์ในโฟลเดอร์ที่เปิดเพียงกดที่ไอคอนของแอพในแถบเครื่องมือ โฟลเดอร์ใหม่จะเปิดขึ้นโดยอัตโนมัติ ลบบรรทัดที่ 22 ในสคริปต์ ( open y
) หากคุณไม่ต้องการให้เปิดโฟลเดอร์ใหม่ หากคุณเพิ่มแอพลงใน Dock และเปิดขึ้นมามันจะสร้างโฟลเดอร์ใหม่ในโฟลเดอร์ด้านหน้าหรือบนเดสก์ท็อป (หากไม่มีโฟลเดอร์ที่เปิดอยู่)
ผ่านการทดสอบใน Mac OS X 10.7.5 เท่านั้น สิงโต!
ในการเพิ่มยัติภังค์และเวลาปัจจุบันให้เพิ่มบรรทัดต่อไปนี้ (แทนที่บรรทัดที่ 32-34 ในสคริปต์ด้านบน):
set the_hour to hours of (cd) as number
set the_minute to minutes of (cd) as number
set the_second to seconds of (cd) as number
if the_month < 10 then set the_month to "0" & the_month
if the_day < 10 then set the_day to "0" & the_day
if the_hour < 10 then set the_hour to "0" & the_hour
if the_minute < 10 then set the_minute to "0" & the_minute
if the_second < 10 then set the_second to "0" & the_second
return ((the_year & the_month & the_day & "-" & the_hour & the_minute & the_second) as string)