基本的applescripting - 读取文件夹中的多个文件

时间:2013-07-05 18:25:29

标签: applescript

我一直试图找到解释如何读取AppleScript中多个文件的内容,但我只能找到读取1个文件的内容。

  • 读取文件夹
  • 中的所有文本文件(.js,.json,.css等)
  • 确认每个人都有特定的版权(例如“©2013版权。保留所有权利。”)
  • 创建一个新文档,列出该文件以及每个文件的版权是否正确。

e.g。

  • particleTrail.js - PASS
  • blur.js - PASS
  • canvasParticle.js - FAIL
  • 等...

谢谢!

1 个答案:

答案 0 :(得分:0)

set output to ""

tell application "Finder"
    repeat with f in (get files of (get POSIX file "/Users/username/Folder" as alias))
        if (read (f as alias) as «class utf8») contains "© 2013 copyright" then
            set output to output & name of f & " - PASS" & linefeed
        else
            set output to output & name of f & " - FAIL" & linefeed
        end if
    end repeat
end tell

set b to open for access "/Users/username/Desktop/output.txt" with write permission
set eof b to 0
write output to b as «class utf8»
close access b

如果省略as «class utf8»,则readwrite会使用主要编码,例如MacRoman或MacJapanese。 Unicode text是UTF-16。

或者使用shell脚本:

for f in ~/Folder/*; do grep -q '© 2013 copyright' "$f" && x=PASS || x=FAIL; echo "${f##*/} - $x"; done > ~/Desktop/output.txt

grep -lv '© 2013 copyright' ~/Folder/*