1

我编写了一个小的 Ruby 命令行应用程序,用于在我的 Mac 硬盘上组织电视节目。鉴于电视剧集标题的性质,有些剧集包含该/角色。

在 Mac 上,文件系统实际上允许我编写这个文件,如果我手动重命名带有/字符的文件,一切都很好。

当 RubyFile.rename在我的脚本中运行时,我只是得到一个No such file or directory错误,因为 Ruby 尝试将/文件名中的文件作为应该存在的文件夹读取。

这是一个例子:

输出路径是/TV/Showname/Season 1/Showname - 1x07 - 5/1.mp4

现在,与其寻找文件夹/Showname - 1x07 - 5/并写入其中的1.mp4文件,我如何告诉 ruby​​ 简单地获取文件名(Showname - 1x07 - 5/1.mp4)并将其按原样写入Season 1文件夹?

谢谢阅读。

4

1 回答 1

5

这是一个奇怪的问题,但是因为反斜杠被用作文件分隔符,它被转换为 Ruby 使用的文件名中的冒号。因此,要重命名您的文件,请将名称中的正斜杠替换为冒号。

所以你会写这样的东西:

File.rename("Showname - 1x07 - 5:1.mp4", "/TV/Showname/Season 1/Showname - 1x07 - 5:1.mp4")
于 2012-08-18T11:32:00.320 回答