通常我得到一个Excel电子表格文件名几十的,为此,我再需要去逐个搜索。
等试算表
有没有一种方法,我可以简单地说:
- 在Excel的例如, 行A全选的文件名,
- 然后搜索上的“本机”所有这些文件
- 然后找到的所有文件复制到新文件夹在桌面上
到目前为止,我已经尝试过搜索的第一部分,这就是我得到: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选项 - 任何建议,将不胜感激。
我做了一个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脚本”的动作,你可以指定一个快捷键下: 系统偏好设置 > 键盘 > 快捷方式 > 服务