如何递归重命名文件/文件夹以使其名称对 Windows 友好?

Rom*_*nSt 11 linux rename batch-rename

我在 Ubuntu 机器上有一堆文件,它们的文件名中有 Windows 不接受的各种字符(主要是“:”和“*”,但也可能是其他字符)。

将这些全部重命名并移至 Windows 计算机的最简单方法是什么?可以用“[colon]”和“[asterisk]”之类的东西替换这些字符。

Den*_*son 4

看看Glindra 重命名排毒

\n\n

Glindra 文件实用程序可以安装在 Windows 或 Linux 上。在 Windows 上清理文件名的示例:

\n\n
rena *.* -portable\n\nrena *.* -safe\n
Run Code Online (Sandbox Code Playgroud)\n\n
    \n
  • -safe
    \n将前导破折号(连字符)映射到下划线。
    \n折叠空格。
    \n将 *?:[]"<>|(){} 等有问题的字符映射为下划线。
  • \n
  • -portable
    \n执行与 -safe 相同的清理操作,此外:
    \n将 Latin 1 字母表上半部分的所有 8 位字符映射到合理的 7 位后备字符。
    \n将单引号字符 \'`\xc2\xb4 映射到下划线。
  • \n
\n\n

来源:修复 Unix/Linux/POSIX 文件名:控制字符(例如换行符)、前导破折号和其他问题

\n

  • @DennisWilliamson - 看起来 glindra (适用于 Windows)无法重命名具有无效文件名的字符。`G:\spc&gt;rena.exe -safe -portable *.txt` 输出 `[FATAL-ERROR] 文件名语法错误:aa:a.txt` (3认同)