У яких Windows розширення назви файлів позначають виконуваний файл?
Позначимо до чого?
Я знаю, що питання, мабуть, звучить трохи заплутано на даний момент, але питання має значення. Як я поясню, чому це важливо, питання стане більш зрозумілим.
Хоча відповідь Кен Вайт про змінну PATHEXT (у середовищі командного рядка) є приємною та короткою відповіддю, і ця відповідь може спрацювати для вас, відповідь є неповною. Причина, яка є неповною, полягає в тому, що правильна відповідь відрізняється від того, що ви намагаєтесь зробити.
Наприклад, ви можете спробувати:
- Запустіть програму з "традиційного командного рядка" ("CMD"), ввівши повне ім'я файлу
- Запустіть програму з "традиційного командного рядка" ("CMD"), ввівши ім'я базового файлу, але не залишаючи його розширення
- Використовуйте команду "start", яка вбудована в "традиційний командний рядок" ("CMD")
- Запустіть програму від PowerShell
- Запустіть програму з пункту меню "Запустити", знайденого в меню "Пуск"
- Запустіть програму з Провідника, намагаючись двічі клацнути піктограму, пов’язану з файлом, що закінчується розширенням
- Скажіть Microsoft Internet Explorer відкрити завантажений файл
- Запустіть програму, використовуючи функцію API Microsoft Windows. (Це зазвичай не роблять кінцеві користувачі, але комп'ютерні програмісти можуть це робити, і тому інформація стосується їх.)
Деякі з цих методів запуску програм можуть використовувати різні методи визначення того, які розширення імені файлів можуть підтримуватися. Зокрема, використання CMD може відрізнятись від меню Run.
Наприклад, дивовижний блог Уеса: Настроювання команди Windows Run Command ... відзначає перевірку різних місць, включаючи ключ реєстру.
Відповідь також може залежати від того, яка версія Microsoft Windows використовується. У Windows 10 я просто набрав ім'я zip-файлу у командному рядку, і він відкрив Провідник Windows. Я, мабуть, пам’ятаю, що не працює в Windows XP (хоча в Windows XP я могла набрати «start filename.zip» і отримати такий же ефект). Отже, або моя пам'ять несправна, або Microsoft намагається вдосконалити новіші версії Windows. (Сподіваюся, для мене останнє.)
У традиційному командному рядку Windows 10 (запуск "CMD"), коли я переходжу до місця розташування (за допомогою команди "CD") zip-файла та ввожу "filename.zip", тоді файл відкриється. Коли я заходжу в це місце і введіть "ім'я файлу" (залишаючи розширення файлу ".zip"), Windows не знайде файл. Однак якщо я запускаю " ECHO %PATHEXT%
", а потім " SET PATHEXT=%PATHEXT%;.ZIP
" (а потім ECHO %PATHEXT%
знову " ", щоб переконатися, що я отримав потрібний ефект), тоді я можу набрати "ім'я файлу" і командний рядок знайде файл .ZIP. Отже, це ефект змінної% PATHEXT%.
Ви можете побачити інший список розширень, виконавши ASSOC
команду. Наприклад, виконання цієї команди показує кілька рядків виводу, включаючи наступне (у моїй системі) - " .zip=CompressedFolder
". Потім я бачу, що це працює, набравши " FTYPE | FIND /I "CompressedFolder"
". (Це призначено для традиційного командного рядка. PowerShell не сподобається тим нерозміщеним лапкам.) (Якщо ви просто введете " FTYPE
" без решти цього командного рядка, ви побачите трохи більше результатів про інші розширення.)
Якщо я набираю " ASSOC | FIND /C "."
" на своєму комп'ютері з Windows 10, то я виявляю, що у мене є 339 рядків виводу, коли я перевіряю наявність асоціацій файлів таким чином.
MS KB 162059 - це налаштування того, як Internet Explorer відкриває документи Office.
Тож запитувати список виконуваних файлів за замовчуванням занадто розпливчасто. Різні компоненти Microsoft Windows можуть використовувати різні ресурси, тому для точної відповіді питання має бути більш конкретним.
Питання згадувало про використання Explorer для подвійного клацання по значку. Щоб побачити список використовуваних ним виконуваних файлів, я вважаю, що ви захочете перевірити реєстр. Ви можете запустити це з командного рядка:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts
(Я не збираюсь їх перераховувати тут. На моєму комп'ютері з Windows 10 їх є 286.)
У цьому списку розширення. Щоб дізнатися більше інформації, включаючи детальну інформацію про розширення:
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts /s
Отже, як ви бачите, це, здавалося б, невинне питання може насправді бути досить складною темою. Я вважаю, що я зробив свою справу з приводу того, чому питання має бути досить конкретним, щоб отримати повну відповідь, яка повністю стосується того, як один компонент Windows може визначати розширення імені файлів. У горіховій оболонці не існує лише однієї відповіді для Windows, оскільки у Windows є кілька компонентів, які поводяться по-різному. Сподіваюся, я почав це демонструвати і вказав на деякі додаткові ресурси, які містять відповідну інформацію.