Could rm remove files and folders with colon in their name?

Mario Emmenlauer mario@emmenlauer.de
Wed Nov 10 09:45:53 GMT 2021


Dear All,

I've searched if this topic has come up before but could not find it.

Could 'rm' support removing files and folders that have a colon ':' in
their name? I.e. I would like that 'rm -fr' would remove a full directory
tree, including such folders. Currently it will correctly remove anything
inside such folders, but not the folder itself.

As an example, for the following structure:
     C:/root/folder/C:/inside/file.txt

When using 'rm -fr root', afterwards I have:
     C:/root/folder/C:

To remove everything, I can use 'find root -depth -exec rmdir \{\} \;'

I understand that files and folders with colon in their name are illegal
on Windows and not supported very well. But a number of tools manage to
create (and also remove) such files. I've found that even the native
'del' can support this when using the UNC name (see for example
https://serverfault.com/a/96833). It would be great if Cygwin could
also feature this support.

All the best,

     Mario


PS: These folders are created when I use the Cygwin-based build system
for ICU (see https://unicode-org.github.io/icu/userguide/icu4c/build.html#how-to-build-and-install-on-windows-with-cygwin)
For me this is in a combination with native Perl for Windows (ActivePerl,
in my case), and using absolute build paths. After using ICU's build
system, I can not remove the build tree anymore. It may be possible to
solve this on the ICU side too. But their automake-and-Perl-based path
mangling is not easily modified, and I've failed to isolate the root
cause of the illegal paths.



More information about the Cygwin mailing list