我尝试使用AppleScript自动执行对大量文件进行小编辑的过程,但未成功。更具体地说,我想要一个脚本:
最重要的是,我希望脚本基本上无需辅助/无人操作。
以下是我正在尝试做的更多信息:http://hints.macworld.com/article.php?story=20100305070247890。
StackOverflow asked a similar question上的另一位用户,但该建议不起作用。
从我能够找到的几个在线讨论中,似乎Apple在版本7之后取消了QuickTime的一些功能。我目前正在使用10.3 +
Here's another discussion几乎完全描述了我要做的事情。正如“kryten2”指出的那样,出口不再适用于新版本的QuickTime。而且,就像“VideoBeagle”一样,当我尝试调用save方法时,我收到权限错误。
VideoBeagle在该页面上发布的代码对我不起作用。这是修改后的版本:
tell application "QuickTime Player"
open basefile --argument passed to script when executed
set the clipboard to "outputfile"
delay (0.25)
tell document 1
trim from 0 to 60
tell application "System Events"
tell process "QuickTime Player"
keystroke "s" using command down
keystroke "v" using command down
delay 1
keystroke return
delay 3
#click menu item "Save..." of menu "File" of menu bar 1
end tell
end tell
close saving no
end tell
end tell
上面的代码在QuickTime中打开文件并将文件修剪为正确的长度,但随后它会在新窗口中创建文件的未保存副本,关闭原始文件,但不保存新文档。当我试验延迟并删除“修剪”功能时,它将显示“保存”对话框,但实际上不会保存文件。
有没有人成功设法使用AppleScript和QuickTime来保存文件? ......最近还好吗?
非常感谢你!
答案 0 :(得分:0)
如果您拥有QuickTime Pro授权(不是免费的,但非常便宜),最好使用QuickTime Player 7的导出功能。要这样做,您还需要从Apple网站下载这个旧的QT版本。它仍然可用,但Apple推出的QuickTime Player 7基本上只有读取功能。
如果你想坚持使用QuickTime Player(在版本7之后),在保存时脚本中存在已知问题。解决方法是在您已经开始的时候模拟GUI的一部分。
下面的脚本要求处理电影文件,定义修改后视频的新路径和名称,从第二个到第二个6修剪,然后使用GUI界面保存和关闭。我做了很多评论,以确保您能够理解并更新自己的需求:
-- select file to be processed
set myVideo to choose file with prompt "Select video to be processed"
-- set new path and file name
set newPath to ((path to desktop folder from user domain) as string) & "Test_Folder"
set PPath to POSIX path of newPath
set newName to "cutVideo.mov"
tell application "QuickTime Player"
activate
open myVideo
set myDoc to front document
trim myDoc from 2 to 6 -- keep only video from second 2 to 6
end tell
tell application "System Events"
tell process "QuickTime Player"
keystroke "s" using {command down}
delay 0.8
keystroke "G" using {command down} -- go to
delay 0.8
keystroke PPath -- folder path with / and not :
delay 0.8
keystroke return
delay 0.8
keystroke newName -- fill file name
delay 0.8
keystroke return -- ok save dialog
delay 0.8
keystroke "w" using {command down} -- close window
end tell
end tell