在 Automator 工作流程中获取文件大小
Get file size in Automator workflow
正在 Automator 中创建服务(运行 shell 脚本 > Bash)以将 Finder 中选定文件的文件大小(以字节为单位)复制到剪贴板。我对bash不是很精通,看不出哪里错了。
目的是在右键单击文件时让它出现在 'services' 菜单中,然后我可以将文件大小粘贴到任何我喜欢的地方。
我在 Automator 中选择的选项是:
服务接收在 "Finder.app"
中选择的 "files or folders"
Shell /bin/bash
将输入作为参数传递
for f in "$@"
do
getty=$(ls -l "$f")
done
IFS=' ' read -a newList <<< "${getty}"
echo -n ${newList[4]} | pbcopy
运行 Shell 脚本失败 - 1 个错误:
-: -c: 第 1 行:意外标记 `do
附近的语法错误
不使用 ls
,而是使用 stat
获取文件大小。
stat -f '%z' "$f" | pbcopy
要将一组文件的名称和大小复制到剪贴板:
stat -f '%N %z' "$@" | pbcopy
为了让大家更清楚,解决方法是:
- 创建一个空的自动化脚本
- 添加操作“从 Finder 中获取所选元素
- 将输入作为参数添加操作“运行 shell 脚本”
- 使用以下脚本:
stat -f '%z' "$@" | pbcopy
正在 Automator 中创建服务(运行 shell 脚本 > Bash)以将 Finder 中选定文件的文件大小(以字节为单位)复制到剪贴板。我对bash不是很精通,看不出哪里错了。 目的是在右键单击文件时让它出现在 'services' 菜单中,然后我可以将文件大小粘贴到任何我喜欢的地方。 我在 Automator 中选择的选项是:
服务接收在 "Finder.app"
中选择的 "files or folders"Shell /bin/bash
将输入作为参数传递
for f in "$@"
do
getty=$(ls -l "$f")
done
IFS=' ' read -a newList <<< "${getty}"
echo -n ${newList[4]} | pbcopy
运行 Shell 脚本失败 - 1 个错误:
-: -c: 第 1 行:意外标记 `do
附近的语法错误不使用 ls
,而是使用 stat
获取文件大小。
stat -f '%z' "$f" | pbcopy
要将一组文件的名称和大小复制到剪贴板:
stat -f '%N %z' "$@" | pbcopy
为了让大家更清楚,解决方法是:
- 创建一个空的自动化脚本
- 添加操作“从 Finder 中获取所选元素
- 将输入作为参数添加操作“运行 shell 脚本”
- 使用以下脚本:
stat -f '%z' "$@" | pbcopy