批量转换/清理/净化 Linux/Unix 文件名为 Windows

批量转换/清理/净化 Linux/Unix 文件名为 Windows

我需要在这两个系统之间同步一些文件,但 Windows 抱怨文件名很奇怪,例如:菅野よう子 (Macross Plus - Original Sound Track I) - 03 - After, in the dark ~ Torch Song.mp3

您知道一些不错的 CLI 工具吗?

答案1

最终我能够让 Detox 发挥作用。

使用 cmd :

detox -r -v /home/user/Music/

不起作用的是:

cd /home/user/Music/    
detox -r -v ./
# The "." isn't working for Detox

detox -r -v /home/user/Music
# Detox need the trailing slash "/"

瞧瞧。解决方案来自:(https://serverfault.com/questions/348482/how-to-remove-invalid-characters-from-filenames#comment1279057_871184

答案2

我从我找到的其他一些答案中稍微转述了一下这里。这似乎是一个相当困难的问题。不过,有几个实用程序可能会有所帮助。Linux 实用程序排毒似乎主要针对 Unix,但你可以使用RC 文件

StackExchange 链接答案中讨论的主要内容似乎有一个德语网页,因此我无法保证它的可用性或从那里下载的安全性(因为我看不懂德语)。但是,我没有理由不信任它。

另一个答案建议使用pyRenamer它也有一个 GUI,可能更适合入门。您可能还想尝试以可以生成失败文件列表的方式运行副本。我建议使用一个简短的 bash 脚本,您可以分别复制每个文件并检查退出代码以查看副本是否有效。这将为您提供需要重命名的文件列表并节省您的一些时间。

我最后的评论是,您很可能遇到了字符限制。Windows 可以对每个文件的长度以及路径的总长度设置字符限制。使用重命名实用程序将文件重命名为较短的文件名并找到上面链接的第二个答案应该相当简单。不幸的是,如果您有很多文件,这可能需要一些努力。

相关内容