REVISED SOLUTION:
The AppleScript code I used in my first solution used a repeat until theTime is greater than or equal to requested_time
loop with a delay 10
command to keep checking the current time versus the requested time, every 10 seconds. Although running that code as a script or an application, did not use a huge amount of the System Resources... Saving the new following AppleScript code as a stay open application with an on run
and on idle
handler, in my opinion, had significantly less of an impact on the System Resources. Save this following AppleScript code as a stay open application.
This app, when run, will allow you to input your desired time, then choose a file or app to launch at that given time.
This AppleScript code works for me using the latest version of macOS Mojave.
global chosenApp
property theTime : missing value
property requested_time : missing value
on run
set theTime to time string of (current date)
activate
set requested_time to text returned of (display dialog ¬
"Please Enter Your Start Time With The Following Format: Hour:Minutes:Seconds" default answer theTime ¬
buttons {"CANCEL", "OK"} default button "OK" cancel button "CANCEL" with title ¬
"Choose App Launch Time")
activate
set chosenApp to choose file with prompt ¬
"Choose The App Or File You Would Like To Run At Your Specified Time" without multiple selections allowed, invisibles and showing package contents
end run
on idle
runAtSpecificTime()
return 30 -- in seconds
end idle
on runAtSpecificTime()
set theTime to time string of (current date)
if theTime is greater than or equal to requested_time then
tell application "Finder" to open chosenApp
quit me
end if
end runAtSpecificTime
on quit
continue quit -- allows the script to quit
end quit