【问题标题】:How to open files directly on Photoshop from a text box Mac Application如何从文本框 Mac 应用程序直接在 Photoshop 上打开文件
【发布时间】:2020-05-11 17:56:39
【问题描述】:

亲爱的编程社区,你好。希望每个人都保持安全。

我在数百个目录中有数千个图像文件,找到它们可能需要一些时间。

我希望能够一次在文本框中输入 5 或 6 个文件名,应用程序会找到图像并在 Photoshop 上打开它们。

谁能指出我正确的方向。

谢谢

【问题讨论】:

  • 所有图像都在您的 HOME 目录下吗?您确定没有两个同名但位于不同目录的图像吗?
  • 对不起应该更清楚。我在 1 个主目录中的数百个不同子目录中有数千张图像。我想设计一个应用程序,可以根据文本框中的文件名打开图像。
  • 不确定我是否理解这一点。你有成千上万张图片,你能想出其中 6 张的全名,并在文本框中正确完整地输入它们吗?它们都是 PSD 文件,还是也有 PNG 和 JPEG?文本框有什么魅力 - 为什么不是终端?

标签: macos file photoshop


【解决方案1】:

您可以使用 Automator 和一个小的 bash 脚本来做到这一点。启动 Automator,并创建一个新应用程序。然后点击Utilities(带注释的黄色),然后将Run Shell Script(带注释的洋红色)拖到右侧(带注释的青色)并放下。

现在将以下代码粘贴到右侧:

# You can edit these parameters to suit your local situaton
LOCATION="/Users/mark/Photos"
PHOTOSHOP="Adobe Photoshop CC 2019"

# Pop up a dialog asking for filenames
list=$(osascript -e 'Tell application "System Events" to display dialog "Enter filenames to Photoshop - separate with commas:" default answer ""' -e 'text returned of result' 2>/dev/null)

# Make array of filenames from list, splitting on commas
IFS=',' read -ra fnames <<< "$list"

# Generate full paths of each filename, in another array
fullpaths=()
for f in "${fnames[@]}"; do
     # Try to find file, ignoring case, in specified location
    full=$(find "$LOCATION" -iname "$f" -print 2> /dev/null)
    # Add to list to pass to Photoshop if found
    [ ! -z "$full" ] && fullpaths+=("$full")
done

# Start Photoshop with the specified files
open -a "$PHOTOSHOP" "${fullpaths[@]}"

现在将应用程序保存在您的桌面上,我调用了我的FindAndShop。然后,您可以双击它来运行它。这就是您回答问题所需的全部内容。以下只是美化!

它在行动:


如果您愿意,您可以更改图标,因此我在 Photoshop 中制作了一个新的方形图标并复制了图像,然后我右键单击了我闪亮的新应用程序,并选择了Get Info。现在点击青色区域,然后在屏幕顶部的菜单栏上,点击Edit,然后点击Paste

现在应用在我的桌面上看起来像这样:

【讨论】:

    猜你喜欢
    • 2014-12-30
    • 2011-12-26
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 2014-09-13
    • 2014-07-11
    • 1970-01-01
    相关资源
    最近更新 更多