如何使用applescript一次编辑多个文件

时间:2016-10-31 20:06:28

标签: applescript

我有一个AppleScript,我可以通过用不同的文本替换文本实例来编辑任何文件中的文本。

必不可少,这个脚本应按此顺序执行这些操作。 选择一个文件夹。 选择扩展名为.txt的所有文件 单独访问每个文件并查找特定文本。 用新文本替换文本。 关闭文件并转到下一个文件。

代码在

之下
set aFolder to choose folder "Select folder to be processed"
tell application "Finder" to set allFIles to every file of aFolder whose name extension is in {"txt"}

repeat with someFile in allFIles

set SomeText to (read SomeFile) 

set {SearchText, ReplaceText} to {"Searches of this", "Replaces with this"} 
set {TempTID, AppleScript's text item delimiters} to {AppleScript's text item delimiters, SearchText}
set {TextItems, AppleScript's text item delimiters} to {text items of SomeText, ReplaceText}
set {SomeText, AppleScript's text item delimiters} to {TextItems as text, TempTID}

set OpenFile to open for access SomeFile with write permission
try
    set eof of OpenFile to 0 
    write (text 1 thru -2 of SomeText) to OpenFile as text 
    close access OpenFile
on error errmess 
    log errmess
    try
        close access OpenFile
    end try
end try
end repeat 

我希望能够一次选择多个文件或选择一个文件夹并使用该脚本编辑文件夹中包含搜索文本的所有文件。任何帮助表示赞赏。

编辑:我知道我可以让脚本将.txt文件从其余的文件夹内容中分离出来,我知道我可以"看到"这些文件(例如,如果我做一个显示对话框,我可以添加一个名为SomeFile的变量并在对话框中看到它)我只是无法读取文件所以我可以编辑它。我需要的是能够打开一个文件夹,查找所有.txt文件,打开它们,通过用另一个实例替换特定单词/短语的一个实例来编辑文本,然后关闭文件,然后再转到下一个文件。 / p>

1 个答案:

答案 0 :(得分:0)

您可以使用以下脚本选择文件夹并处理其中的所有文件:

set aFolder to choose folder "Select folder to be processed"
tell application "Finder" to set allFIles to every file of aFolder whose name extension is in {"txt"}

repeat with someFile in allFIles
-- do here what you need for someFile (alias) !!
-- you can cut/paste your current script here
end repeat