Как уже говорили другие, имена устройств, такие как COM1, не могут быть именами файлов в Windows, потому что они являются зарезервированными устройствами.
Однако существует метод escape для создания и доступа к файлам с этими зарезервированными именами, например, эта команда перенаправит вывод команды ver
в файл с именем COM1:
ver > "\\?\C:\Users\username\COM1"
Теперь у вас будет файл с именем COM1, который 99% программ не смогут открыть, и, вероятно, зависнет, если вы попытаетесь получить к нему доступ.
Вот статья Microsoft , в которой объясняется, как работает это «пространство имен файлов». По сути, это говорит Windows не выполнять какую-либо обработку строки в тексте и передавать ее прямо в файловую систему. Этот прием также можно использовать для работы с путями длиной более 260 символов.