能否将无效文件名的文件复制到 ntfs 并自动更改名称?

met*_*chi 5 ntfs

我有一堆文件分布在 ext4 磁盘中的许多文件夹中。其中一些文件包含 ntfs 的非法字符(例如:|),因此当我尝试复制它们以在 Windows 中查看时会出现错误。

是否有任何工具可以让我复制文件并根据需要更改名称,或者我需要编写自己的工具吗?

小智 6

检查这个答案: https://superuser.com/questions/178025/linux-copy-to-fat32-filesystem-invalid-argument

简而言之,安装pax

sudo apt install pax
Run Code Online (Sandbox Code Playgroud)

现在而不是这样做:

cp -r sourcedir destdir
Run Code Online (Sandbox Code Playgroud)

要复制目录树,您可以运行:

pax -rw -s '/[*?:]/_/gp' sourcedir destdir
Run Code Online (Sandbox Code Playgroud)

这种方式pax将在必要时仅重命名文件的副本。

每个*or?:字符将自动替换为一个_字符。这意味着多个文件可能会收到相同的新名称。