问:Applescript - 不传递文件夹中的所有文件

时间:2017-11-01 14:12:18

标签: file applescript directory

我有一个问题,基本上我已经在Applescript中写了“应用程序”,而且有些东西是非常可疑的。

tell application "Finder"

    activate

    set theXMLFolder to choose folder with prompt "ok"

    set numberOfFiles to count of (files in folder theXMLFolder)

    repeat with a from 1 to numberOfFiles

        set theXMLFile to item a of theXMLFolder

        if name extension of theXMLFile is in validExtensions then

            my resetVariables()

            my importXMLFolder(theXMLFile as string) -- import and read XML file

            my writeToExcel() -- convert XML to Excel file

        end if

    end repeat

end tell

这就是我在文件夹中提示输入XML文件的方式。问题是,当在文件夹中只有XML文件时,它工作得很完美,但目前会有一些其他文件,有时它不会全部读取,例如。它只能找到9个文件中的7个。有没有办法让它看到总是和所有文件? 谢谢

2 个答案:

答案 0 :(得分:0)

以下示例 AppleScript 代码仅作用于name extension 设置文件 {1}},例如validExtensions,并根据xml 循环中的内容对每个xml文件采取行动,即repeat

--   # Do something.

答案 1 :(得分:0)

这适用于我最新版本的Sierra

使用此代码,您可以绕过代码的整个“条件”部分

property nameExtension : "xml"

set theXMLFolder to choose folder with prompt "ok"

tell application "Finder"
    set theFiles to files of theXMLFolder whose name extension is nameExtension
    repeat with i from 1 to number of items in theFiles
        set theXMLFile to item i of theFiles

        my resetVariables()
        my importXMLFolder(theXMLFile as string)
        my writeToExcel()

    end repeat
end tell