我正在寻找一个将使用BBEdit的Applescript - 循环浏览大量的HTML文件并自动编写它们(因此缩进更易于阅读)。
到目前为止,我有:
tell application "BBEdit"
activate
open {file "Macintosh HD:TEST DIRECTORY:testfile copy 2.html"} with LF translation
(format mode hierarchical)
beep
display alert "Finished!"
end tell
这会将转换应用于单个文件,但有人有任何建议如何将此应用于未知数量的HTML文件吗?
答案 0 :(得分:3)
你几乎得到了它;诀窍是你要遍历open
返回的文件。因此,你需要这样的东西:
tell application "BBEdit"
set docs to open LIST_OF_FILES with LF translation
repeat with doc in docs
-- format doc
save doc
end repeat
beep -- Or even `say "Finished!" without waiting until completion`
-- if you want your computer to talk to you
display alert "Finished!"
end tell
正如您所看到的,您需要做的就是将格式化代码放在此循环中(并且不要忘记保存文件!);循环将依次将doc
设置为列表docs
的每个元素,并使用该元素运行正文。如果您不确定如何选择文件,则一种方法是choose file with multiple selections allowed
;这将弹出一个对话框,允许您选择任意数量的文件。要使用它,只需将LIST_OF_FILES
替换为(choose file with multiple selections allowed)
。
答案 1 :(得分:0)
BBEdit将对您想要的任何文件组执行查找/替换。只需按下命令+ shift + f即可调出多文件搜索,而不是基本的查找/替换窗口。
如果您需要同时执行多组find / replace命令,则需要Text Factory。有关如何设置一个的详细信息,请参阅此处:http://www.barebones.com/products/bbedit/benefitsexercise.html
这有帮助吗?
答案 2 :(得分:0)
您应该使用文本工厂功能。在“文件>新>文本工厂”下。您可以对单个文件执行的任何操作都可以在任意数量的文件上完成,您可以保存操作以备将来使用。