applescript - 在 Automator 中搜索所有外部驱动器
问题描述
我正在尝试进行自动操作,在所有外部驱动器中搜索.txt文件,然后将其复制到内部 Macintosh HD 驱动器上的文件夹中。
我遇到的问题是,我无法找到一种方法来做到这一点,而不必每次都指定每个外部驱动器的名称,但每次都是一个新的,而且不可预测。有什么方法可以“间接”指定外部驱动器的路径(我想像一个指向 USB 端口的“指针”)?
我知道隐藏的/Volumes文件夹,但是这也会在所有 Macintosh HD 中搜索.txt文件,这是我不想要的……
提前致谢!
解决方案
我知道您提到了AppleScript,但是,这可以在Terminal中更轻松、更直接地完成。
您无需担心Macintosh HD,/Volumes
因为它是符号链接,find
如果没有适当的选项,将不会遍历符号链接。
要在Automator工作流中使用以下示例 shell 脚本 代码,只需添加一个Run Shell Script操作,在更改文件要复制到的目录时添加以下代码行。 '/path/to/destination'
find /Volumes -type f -iname '*.txt' -print0 | xargs -I '{}' -0 cp -a '{}' '/path/to/destination'
这将找到外部磁盘上的所有.txt 文件并将它们复制到目标位置,同时覆盖目标位置中的现有文件。
就是这样,只需在工作流程中完成一个操作即可。
此外,如果您在没有连接外部磁盘的情况下运行它,请不要担心,因为它基本上什么都不做。
笔记:
如果由于某种原因您需要使用Run AppleScript action,您仍然可以使用AppleScript命令使用示例shell 脚本 代码,例如:do shell script
do shell script "find /Volumes -type f -iname '*.txt' -print0 | xargs -I '{}' -0 cp -a '{}' '/path/to/destination'"
推荐阅读
- javascript - 将 d3.js 与 apache codrova 一起使用时出现 Javascript 错误“意外的严格模式保留字”
- php - 如何在php中计算多维数组中的值
- c++ - 虚拟比较运算符
- python - 未能设置“pythonPath”。错误:无法写入用户设置。请打开用户设置以更正其中的错误/警告,然后重试
- flutter - 我需要按两次按钮才能正常工作(颤动)
- python - 查找给定值的所有键
- javascript - Angular以base64格式获取远程图像URL
- java - Activity does not have a NavController set on
- javascript - Menu closing after going to the related section from the hamburger menu
- flutter - 有没有办法同时拥有一个 floatingActionButton 和一个 SpeedDial?