Думаю, ви спровокували проблему, можливо. Оскільки розширення * .COM походить від MS-DOS і тільки для 16-бітових бінарних файлів, 32-бітова Windows створила ярлик PIF для тих файлів, який би викликав рівень сумісності для налаштування 16-бітного середовища. Однак цієї частини не існує у 64-бітовій Windows, оскільки 16-бітні виконувані файли досить старі, і існує багато альтернатив для їх запуску; DOSBOX, наприклад.
Однак, здається, що звичайна процедура виявлення такої ситуації все ще існує у Windows 64 і розпочинається націленням на файл * .COM, тоді як шари сумісності зникли!
Ви можете самостійно перевірити, що спроба створити ярлик до файлу COM все ще створює файл PIF:
- Створіть нову порожню папку.
- Скопіюйте будь-який COM-файл, який ви хочете протестувати. Навіть ви можете перейменувати будь-який файл у * .COM.
- У папці клацніть правою кнопкою миші та виберіть новий ярлик.
- Введіть повний шлях вашого тестового COM-файлу та натисніть «закінчити»
- Він скаже, що "не вдається створити ярлик", але ярлик насправді зроблено.
- Подивіться властивості нового ярлика - це PIF.
Однак, оскільки x64 Windows вже не має 16-бітового рівня сумісності, PIF не може працювати і не може бути налаштований правильно. Природно вважається, що логіку створення файлів PIF до COM також слід усунути, але з якихось причин це ще не зроблено. Що я можу здогадатися про причину - це так, оскільки використовувати COM-файл у x64 Windows дуже рідко, він мав дуже низький пріоритет для виправлення.
Отже, що це за файли * .COM у папці Windows? Насправді вони виконують 64-бітові файли формату EXE, але перейменовані на * .COM для старих пакетних сценаріїв.
Правда також, що ярлик до файлу COM може обдурити користувачів, щоб запустити шкідливе програмне забезпечення, щоб MS навмисно заблокувала це, але все-таки можна приєднати перейменований файл COM (який спочатку є файлом EXE) безпосередньо на електронну пошту чи щось таке , а ще можна створити ярлик до звичайного файлу EXE, а потім перейменувати його на * .COM. Тому я не думаю, що проблема безпеки була основною причиною змусити Windows зробити таке дивне поведінку. Якщо це стосується проблеми безпеки та навмисно, воно відображатиме правильне повідомлення про помилку / попередження.