【问题标题】:from a CSV of filenames, find and open multiple files in a folder (or sub-folders)从文件名的 CSV 文件中,查找并打开文件夹(或子文件夹)中的多个文件
【发布时间】:2009-08-27 06:41:36
【问题描述】:

每个相机文件夹都有数千张照片,我需要打开 20 个左右的特定文件,这些文件可能位于任何一个或多个文件夹中,都在一个“根”文件夹中:

照片

|-- 相机A

|-- 相机B

|-- 相机C

我想将文件名(例如 6504、6505、8902、4501)的 CSV 粘贴到 Applescript(或者如果 Applescript 可以提示我输入?),运行它,然后在 Photoshop 中打开文件。 在聚光灯下一次搜索一个文件很乏味!

我找到了搜索单个文件的脚本,一个在 photoshop 中打开文件的脚本,但我对数组和循环毫无希望,假设 applescript 可以做到这一点。

【问题讨论】:

    标签: macos applescript


    【解决方案1】:

    您真的需要将它专门用作 AppleScript 吗?如果你问我,使用 shell 脚本会更容易:

    for f in 6504 6505 8902 4501; do find . -name "$f" -exec open -a "Photoshop" {} \;; done
    

    其中数字替换为您想要的文件名,“Photoshop”替换为磁盘上 Photoshop 应用程序的实际名称(“Photoshop CS”或其他名称)。

    【讨论】:

    • 它并没有按原样工作,Photoshop 无法启动,所以我使用了完整路径。而且文件名也需要一个,但我忘了说,我的错):for f in *0299 0327 d_0340;确实找到。 -name "$f" -exec open -a "/Applications/Adobe Photoshop CS4/Adobe Photoshop CS4.app" {} \;;完成谢谢 Chuck - 感谢您的帮助!
    【解决方案2】:

    好的,我有一个修补程序,并想出了一个半AppleScript 半ShellScript,它扩展了上述内容。我欢迎任何 cmets :)

    这通过提示输入部分文件名(用空格分隔)、查找最顶部的 Finder 窗口以获取当前文件夹位置(要搜索的根文件夹)、使用 Shell 将星号添加到搜索查询(部分文件名而不是完整文件名),从我们已经在 Finder 中打开的“根”文件夹执行查找命令。找到的文件在 Photoshop 中打开。

    tell application "Finder"
    try
        activate
        beep 1
        display dialog "Enter your image search:" default answer ""
        set dialogInfo to result
        set imgquery to text returned of dialogInfo
    
        set frontWin to folder of front window as string
        set frontWinPath to (get POSIX path of frontWin)
        tell application "Terminal"
            activate
            set starredImgQuery to do shell script "echo " & quoted form of imgquery & " | sed 's/ /\\* */g'"
            set starredImgQuery to "*" & starredImgQuery & "*"
            do shell script "cd \"" & frontWinPath & "\";for f in " & starredImgQuery & "; do find . -name \"$f\" -exec open -a \"/Applications/Adobe Photoshop CS4/Adobe Photoshop CS4.app\" {} \\;; done"
        end tell
        tell application "Terminal" to quit
    on error error_message
        beep
        display dialog error_message buttons ¬
            {"OK"} default button 1
    end try
    end tell
    

    shell 命令很棒!!

    【讨论】:

      【解决方案3】:

      嗯,代码现在对我不起作用!

      惊慌失措并四处搜索“聚光灯布尔搜索” - 并找到了 EasyFind! Devon 技术的免费软件: http://www.devon-technologies.com/products/freeware/index.html

      使用起来更快、更容易适应,它适用于上述布尔搜索、查找根文件夹和布尔搜索:6504 或 6505 或 8902 或 4501

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-04-21
        • 2020-12-19
        • 2019-02-17
        • 1970-01-01
        • 2013-02-26
        • 1970-01-01
        • 2021-10-14
        相关资源
        最近更新 更多