通常,我得到一个包含数十个文件名的excel电子表格,然后我需要逐个搜索这些文件。
有没有一种我可以简单的方法:
到目前为止,我已经尝试了搜索的第一部分,这就是我得到的:a)
Automator with Variable. But the problem is, it only searches for 1 file from selection
b)
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 ”运行它,以后可以将其分配给Keyboard Shortcut。
我很确定为此应该有一个简单的shell选项-任何建议将不胜感激。
答案 0 :(得分:1)
我制作了一个val ints = ArrayWrapper(arrayOf(1, 2, 3)) {
println("Array has been changed")
}
脚本来满足您的需求。您基本上可以在Excel或任何其他应用程序中选择一堆文件名,然后使用⌘ C 将它们复制到剪贴板。之后,您需要运行脚本,它将从剪贴板中获取项目并搜索与该名称匹配的TIFF或JPEG图像,并将其复制到桌面上名为bash
的目录中:
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
通过在 Terminal (终端)中键入以下内容来使脚本可执行:
$HOME/scripts/gather
编辑您的登录配置文件(chmod +x $HOME/scripts/gather
)并将您的$HOME/.profile
目录添加到PATH:
$HOME/scripts
然后启动一个新的 Terminal ,您可以使用保存在export PATH="$PATH":$HOME/scripts
中的任何脚本,而无需指定其完整路径,例如:
$HOME/scripts
由于@ user3439894在评论部分中提供了以下信息,因为我对此方面并不了解...
要使用键盘快捷键,您必须使用“运行Shell脚本” 操作创建一个 Automator “服务工作流程” ,您可以在以下位置分配键盘快捷键:系统偏好设置> 键盘> 快捷方式> 服务