Я использую длинные имена пути с UNC (UNI), например:
\\?\c:\tmp......\file1.prn
но когда я пытаюсь отправить файл на принтер в командной строке Windows, например, с помощью команды копирования / печати, он показывает:
для копии -
0 file(s) copied.
для печати -
invalid switch
обычный путь / сокращенный (с использованием ~) работает хорошо, только большой UNC (> 260 символов) не работает.
Не уверен, работает ли это в вашем случае, но иногда я преодолевал ограничения длинных UNC-путей, сопоставляя их с сетевыми дисками, а затем используя их, как если бы они были локальными дисками.
Я уверен, что есть более чистый способ, но если операция не требует, чтобы диски действительно были дисками, а папки - локальными папками, этот трюк также может сработать.