我想编写一个将利用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

这有帮助吗?

您应该为此使用文本工厂功能。在“文件>新>文本工厂”下。您可以在单个文件上执行的任何操作都可以在任意数量的文件上执行,您可以保存操作以备将来使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top