从选择中在 Finder 中搜索

Searching in Finder from Selection

通常我会得到一个包含几十个文件名的 excel 电子表格,然后我需要单独搜索这些文件。

Spreadhseet

有什么方法可以简单地:

  1. Select 中的所有文件名行 A,共 Excel,
  2. 然后在 "This Mac"
  3. 上搜索所有这些文件
  4. 然后将找到的所有文件复制到桌面
  5. 上的新文件夹

到目前为止,我已经尝试了搜索的第一部分,这就是我得到的:a)

Automator with Variable. But the problem is, it only searches for 1 file from selection

b)

Automator with Shell Script (Copy to Clipboard > Open Finder > CMD+F (to highlight Search dialog) > CMD+V). It opens a new Finder window, but it doesn't paste the clipboard into search dialog

c) /usr/bin/pbcopy

on run {input, parameters}
    tell application "System Events"
        keystroke "f" using {command down}
        keystroke "v" using {command down}
    end tell    
    return input
end run`

最终结果,同选项b)。我计划在 Automator 中将此 运行 作为“Service”,稍后我可以将其分配给键盘快捷键。

我很确定应该有一个简单的 shell 选项 - 任何建议都将不胜感激。

我制作了一个 bash 脚本来执行您想要的操作。您基本上 select 一堆 Excel 或任何其他应用程序中的文件名,然后使用 C[= 将它们复制到剪贴板53=]。之后您需要 运行 脚本,它将从剪贴板中获取项目并搜索与该名称匹配的 TIFF 或 JPEG 图像,并将它们复制到桌面上名为 Selected Files 的目录中:

#!/bin/bash

# Get contents of clipboard into bash array
files=( $(pbpaste) )

# Create output directory - no checks for already existing or already containing files
OUTDIR="$HOME/Desktop/Selected Files"
mkdir -p "$OUTDIR"

# Iterate through fetching files
for ((i=0;i<${#files[@]};i++)) ; do
   name=${files[i]}
   result=$( mdfind "kMDItemDisplayName == \"${name}.*\" && (kMDItemKind==\"TIFF image\" || kMDItemKind==\"JPEG image\")" )
   if [ -f "$result" ]; then
      echo $name: $result
      cp "$result" "$OUTDIR"
   else
      echo ERROR: Searched for: $name, found $result
   fi
done

我不确定你对bash的熟悉程度,所以你可以忽略以下...

为您自己的脚本创建一个新目录:

mkdir -p $HOME/scripts

将上述脚本保存在该目录中,文件名:

$HOME/scripts/gather

通过在 终端 中输入以下命令使脚本可执行:

chmod +x $HOME/scripts/gather

编辑您的登录配置文件 ($HOME/.profile) 并将您的 $HOME/scripts 目录添加到您的 PATH:

export PATH="$PATH":$HOME/scripts

然后启动一个新的 Terminal 并且您可以使用保存在 $HOME/scripts 中的任何脚本而无需指定它的完整路径,例如:

gather

@user3439894 在评论部分提供的以下信息,因为我在这方面不深入...

要使用键盘快捷键,您必须创建一个 Automator "Service workflow""Run Shell Script" 操作,您可以为其指定键盘快捷键:系统偏好设置 > 键盘 > 快捷方式 > 服务