1

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

相片

|-- 相机A

|-- 相机B

|-- 相机C

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

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

4

3 回答 3

1

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

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

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

于 2009-08-26T22:41:36.407 回答
1

你真的需要它成为一个 AppleScript 吗?如果您问我,使用 shell 脚本会更容易:

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

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

于 2009-06-26T06:35:17.693 回答
1

好的,我有一个修补程序,并提出了一个半AppleScript 半ShellScript,它在上面进行了扩展。我欢迎任何意见:)

这通过提示输入部分文件名(用空格分隔),找到最顶层的 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命令很棒!

于 2009-06-28T03:41:09.437 回答