目录内容到电子表格条目中


2

我想将文件夹的内容转换为Numbers(或Excel)的条目-是否可以自动执行此操作?


只是文件名或其他信息(大小,创建日期等)?
nohillside

只是文件名是我的迫切需要-谢谢!
EyeOjO 2014年

Answers:


1

您可以使用Automator.app在finder中创建服务。

打开Automator。

  • 创建一个新的服务文件
  • 设置服务在Finder中接收选定的文件夹
  • 添加获取文件夹内容操作。
  • 添加获取运行Applescript操作。

  • 用下面的applescript替换applescript的内容。

on run {input, parameters}
    set theCsv to ""
    repeat with i from 1 to number of items in input
        tell application "Finder" to set this_item to displayed name of item i of input
        set this_item to this_item & ",\\n"
        set theCsv to theCsv & this_item
    end repeat
    do shell script "echo " & quoted form of theCsv & " > ~/Desktop/names.csv"
end run

在此处输入图片说明

  • 保存文件

现在,当您在finder中选择一个文件夹时,您可以使用上下文菜单在该文件夹上运行服务。

它将在列表的桌面上创建一个.csv文件。将在数字中打开。

注意:如果您有多个文件夹,它将为两个文件夹创建一个列表。可能只在第一个文件夹上使用它,或者两个都单独使用


更新:

一个快速的applescript示例,可以在选定的多个文件夹上工作。这将为查找器选择中的每个目录创建一个单独的文件

    on run {input, parameters}
        set theCsv to ""

        set pathList to {}
        repeat with i from 1 to number of items in input
            tell application "Finder" to set the Cpath to container of item i of input as alias
            if (Cpath as alias) is not in pathList then
                copy Cpath to end of pathList
            end if
        end repeat


        repeat with a from 1 to number of items in pathList
set this_item to item a of pathList
    set thisFileName to ""
        tell application "Finder" to set thisFileName to displayed name of (this_item as alias)

            set the CSVpath to ""
            repeat with i from 1 to number of items in input

                tell application "Finder"
                    set the Cpath to container of item i of input as alias

                    if container of item i of input as alias is this_item then
                        set theName to displayed name of item i of input & ",\\n"
                        set CSVpath to CSVpath & theName

                    end if
                end tell
            end repeat

     do shell script "echo " & quoted form of CSVpath & " > ~/Desktop/" & quoted form of thisFileName &  ".csv"
        end repeat


    end run

UPDATE2。第二个示例现在使用文件夹名称作为文件名称


那很好并且实用,是否可以对代码进行调整,以使输出.csv的名称与输入文件夹的名称相同?
EyeOjO 2014年

是。给我一个分钟
markhunte 2014年

@EyeOjO,已完成(仅第二个示例)
markhunte 2014年

0

最简单(但以某种方式手动)的方法是选择Finder中的所有文件,使用将它们复制到剪贴板,Cmd-C然后使用将该名称粘贴到Numbers表中Cmd-V

如果您希望获得更多控制权,则可以返回到终端以执行复制步骤并运行

cd /some/folder
ls *.jpeg | pbcopy

将该文件夹中所有jpeg文件的名称命名为剪贴板。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.