我希望AppleScript循环浏览文件夹中的一组RTF文件并将其另存为HTML文件。
到目前为止,这是我的简单代码。 XXXX是我挣扎的地方:
tell application "Finder"
set source_folder to choose folder
set aList to every file in source_folder
repeat with i from 1 to number of items in aList
tell application "TextEdit"
set aFile to (item i of aList)
save as aFile XXXXXXXXX
end tell
end repeat
end tell
我真的很陌生......任何帮助都非常感激。
答案 0 :(得分:4)
您不需要TextEdit。有一个命令行程序textutil可以完成这项工作,而不需要TextEdit所需的所有打开和保存内容。我们可以修复你的TextEdit脚本(它有一些错误),但先试试这个,让我们知道它是否适合你。 html文件将具有相同的名称,但具有html扩展名,并将位于source_folder中。可以使用textutil的“-output”开关在代码中更改输出路径。如果你想看看它可以做的一切,请参见“man textutil”。
一般问题......什么是RTD文件?你的意思是rtf还是rtfd? Textutil可以使用rtf / rtfd而不是rtd,所以我希望这不是你的文件类型。
set source_folder to choose folder with prompt "Choose a source folder."
set output_folder to choose folder with prompt "Choose an output folder."
tell application "Finder"
set theFiles to (files of entire contents of source_folder) as alias list
end tell
repeat with aFile in theFiles
tell application "Finder"
set fileName to name of aFile
set fileExt to name extension of aFile
end tell
set outputPath to (output_folder as text) & text 1 thru -((count of fileExt) + 1) of fileName & "html"
do shell script "/usr/bin/textutil -convert html -output " & quoted form of POSIX path of outputPath & space & quoted form of POSIX path of aFile
end repeat
你提到你是Apple的新手,所以我会给你一些在编写AppleScript代码时应该记住的一般指示。
所以我希望有所帮助!祝你好运。