我正在寻找某种形式的过程,让用户选择一个文件夹并循环遍历所有文件并清除所有斜杠、连字符等......从各自的文件名中删除。
我在 Windows 上编程,但这有点超出我在 OSX 上的深度。
我发现了这个(从单个字符串中删除坏字符的自动化过程),但需要一些可以迭代并且易于在 mac 网络上的用户之间使用和分发的东西。
感谢您的任何建议帮助
slh*_*hck 16
我将它封装到一个应用程序中,因此您可以轻松地重新分发它。它会要求一个文件夹,然后清理文件名。
https://github.com/slhck/sanitize-filenames
您还可以在 Automator 中手动创建以下应用程序:
您所要做的就是:
询问 Finder 项目(您应该只允许文件夹)
将此结果设置为变量
运行 shell 脚本(您需要将输入作为参数而不是stdin传递)
for f in "$1"/*; do
dir="$(dirname "$f")"
file="$(basename "$f")"
mv -- "$f" "${dir}/${file//[^0-9A-Za-z.]}"
done
Run Code Online (Sandbox Code Playgroud)
Lri*_*Lri 13
OS X 中文件名中唯一不允许的字符是 NUL 和 ASCII 正斜杠或 ASCII 冒号,具体取决于上下文。在 Finder 中显示为正斜杠的字符在 shell 中显示为冒号,反之亦然。
不过,您可能会使用这样的 shell 命令:
for f in *;do mv "$f" "${f//[^0-9A-Za-z.]}";done
find . -type f|while read f;do b=${f##*/};mv "$f" "${f%/*}/${b//[^[:alnum:].]}";done
brew install rename;find . -type f -exec rename 's/[^0-9A-Za-z.\/]/-/g;s/-+/-/g' {} \;
rename -z *
Run Code Online (Sandbox Code Playgroud)
或者只是使用像Name Mangler这样的应用程序:

| 归档时间: |
|
| 查看次数: |
34252 次 |
| 最近记录: |