Несколько программ используют одно и то же расширение файла, но форматы совершенно разные и несовместимые. Например, у меня есть файлы .sch
на моем компьютере, которые имеют как минимум 5 различных форматов (TINA, PSpice, PADS, Protel и Eagle). Есть ли способ заставить Windows обрабатывать их по-разному, чтобы двойной щелчок по такому файлу открывал его в программе, в которой он должен быть открыт?
Linux использует магические числа в самих файлах для дифференциации и использует только расширения файлов в качестве запасного плана. (Все файлы PNG начинаются с байтов 89 50 4E 47 0D 0A 1A 0A
, например, независимо от того, как вы их называете.) Было бы неплохо, если бы Windows могла это поддерживать, но, вероятно, это очень сложно реализовать. Может быть, что-то проще, например, расширение второго уровня, например, filename.program1.sch
и filename.program2.sch
? Может быть, какой-то фильтр, который переименовывает файлы на лету?
Лучшая идея: связать неоднозначное расширение с препроцессором (файл .bat или специальное приложение), который проверяет расширение второго уровня или входит в сам файл и сканирует магическое число, а затем запускает соответствующую программу?