题
我想编写一个将利用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文件?
解决方案
你几乎得到了;诀窍是您要循环通过返回的文件 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)
.
其他提示
BBEDIT将对所需的任何文件组执行查找/替换。只需点击Command+Shift+F即可提出多文件搜索,而不是基本查找/替换窗口。
如果您需要同时执行的一套以上的查找/替换命令,则需要一个文本工厂。有关如何设置一个的详细信息,请参见此处: http://www.barebones.com/products/bbedit/benefitsexercise.html
这有帮助吗?
您应该为此使用文本工厂功能。在“文件>新>文本工厂”下。您可以在单个文件上执行的任何操作都可以在任意数量的文件上执行,您可以保存操作以备将来使用。
不隶属于 StackOverflow