你有把文件名重命名为唯一ID的需求吗?
· 阅读需 2 分钟
比如截图软件截图的结果为:xxx200102933.png 等等。有时候我们需要将文件名重命名为唯一ID,如 7lvJzJS7TwkeU2hWcxLCB.md
方法有很多,自己生成个uuid,然后重命名文件即可。
利用Mac上Alfred中的workflow,这个操作可以变得很简单。
首先,先装个node.js环境,它上面有很多生成唯一ID的插件,比如 uuid
、nanoid
へ /|
/\7 ∠_/
/ │ / /
│ Z _,< / /`ヽ
│ ヽ / 〉
Y ` / /
イ● 、 ● ⊂⊃〈 /
() v | \〈
>ー 、_ ィ │ //
/ へ / ノ<| \\
ヽ_ノ (_/ │//
7 |/
>―r ̄ ̄`ー―_- Hello World! Good good study ,day day up!
➜ ~ uuid
8478f01b-3fbb-4791-9033-0e3f9587f1a8
➜ ~ nanoid
oDbTo4uDx1Qc-pt00_V0y
新建个 workflow,采用关键字uid
触发
主要是中间的脚本内容如下:
脚本内容意思是:获取选中的文件,截取文件的名称,然后获取个唯一ID,给文件重命名。
CurrentSelectPath=$(osascript <<EOF
tell application "Finder"
set theItems to selection
set filePath to (POSIX path of (the selection as alias))
end tell
set q to filePath
return q
EOF
)
uid=`nanoid | sed 's/-//g'`
oldpath=$CurrentSelectPath
dir=$(dirname $CurrentSelectPath)
suffix=${oldpath##*.}
newpath="$dir/$uid.$suffix"
mv $oldpath $newpath
echo $uid
如果没有选中文件的话,那么会把唯一ID复制到剪贴板上,如果选中了文件则会重命名文件。两种情况都会把唯一ID给出结果通知。
如下左侧是通知设置,右侧是剪贴板设置。
那么最终的效果是: