从选择在Finder中搜索(Searching in Finder from Selection)

2019-09-30 21:44发布

通常我得到一个Excel电子表格文件名几十的,为此,我再需要去逐个搜索。

等试算表

有没有一种方法,我可以简单地说:

  1. 在Excel的例如, 行A全选的文件名,
  2. 然后搜索上的“本机”所有这些文件
  3. 然后找到的所有文件复制到新文件夹桌面

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

Automator的可变。 但问题是,它仅搜索从选择1个文件

b)

用的Automator Shell脚本(复制到剪贴板>打开Finder> CMD + F(高亮显示搜索对话框)> CMD + V)。 它会打开一个新的Finder窗口,但它并没有粘贴剪贴板到搜索对话框

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中的“ 服务 ”,这是我以后可以分配给键盘快捷方式运行此。

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

Answer 1:

我做了一个bash脚本,你想要做什么。 你会选择基本上一帮在Excel中,或任何其他应用程序的文件名,并将其复制到剪贴板与⌘℃。 之后,你需要运行脚本,它会从剪贴板项目和搜索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

然后开始新的终端 ,你可以使用已保存在任何脚本$HOME/scripts ,而不需要指定它的完整路径,例如:

gather

继在评论部分慷慨解囊通过@ user3439894信息,因为我从我的深度在这方面...

要使用键盘快捷键,你就必须创建一个Automator的 “服务流程”“运行Shell脚本”的动作,你可以指定一个快捷键下: 系统偏好设置 > 键盘 > 快捷方式 > 服务



文章来源: Searching in Finder from Selection