3

У меня есть обычный файл на компьютере Microsoft Windows 7 с именем MYFILE.MAS , как видно из (например) cmd.exe . (Вы также можете создать один, это просто пустой файл). Однако при графическом просмотре этого файла с помощью проводника Windows этот файл обрабатывается иначе, чем любой другой (например, MYFILE.XYZ):

i1

(Мои параметры просмотра всегда должны отображать расширения файлов). Просмотр свойств и попытка использовать контекстное меню отличается от любого другого обычного файла:

i2

Я даже не могу переименовать файл в Windows Explorer в другое расширение (это нужно сделать в оболочке, например, mv MYFILE.MAS MYFILE.MAS1).

Есть ли способ заставить Windows Explorer лечить .MAS расширение файла как обычный файл? Я не могу найти документацию Microsoft, чтобы предположить, почему это происходит. Нет, я не делаю ничего, связанного с Microsoft Access.


Обновление 1: пытаясь удалить любые ассоциации файлов, я удалил раздел реестра, перезагрузился, и ключ возвращается со следующими значениями:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MAS]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MAS\OpenWithList]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.MAS\OpenWithProgids]
"Access.Shortcut.StoredProcedure.1"=hex(0):

Последнее странное, поскольку некоторые автоматические процедуры заполняют данные для этого элемента реестра как "Microsoft Access Shortcut" (он же MAS).


Обновление 2: я нашел этот элемент реестра в [HKEY_CLASSES_ROOT\.mas]:

[HKEY_CLASSES_ROOT\.mas]
@="Access.Shortcut.StoredProcedure.1"

[HKEY_CLASSES_ROOT\.mas\Access.Shortcut.StoredProcedure.1]

[HKEY_CLASSES_ROOT\.mas\Access.Shortcut.StoredProcedure.1\ShellNew]

Удаление этого ключа (и дочерних элементов), а затем перезапуск делает explorer.exe .MAS файлы, как и любой другой обычный файл. Исправлена!

2 ответа2

2

Оказывается, благодаря некоторой помощи по этой ссылке, это значение реестра, которое (при добавлении) делает расширение оболочки скрытым, называется (достаточно безобидно) NeverShowExt , а ключ IsShortCut будет обрабатывать файл как ярлык (который является почему вы видите маленькую стрелку быстрого доступа). Специально для моего реестра ключ был в [HKEY_CLASSES_ROOT\Access.Shortcut.StoredProcedure.1]

Выполнение поиска и очистки этих ключей покажет все "скрытые" расширения; Обратите внимание, что вам нужно будет убить, а затем перезапустить explorer.exe из диспетчера задач (или перезагрузить компьютер), чтобы удаленные ключи вступили в силу.

Надеюсь, что это может помочь.

1

Решением было найти ключ реестра HKEY_CLASSES_ROOT\.mas , экспортировать его (для безопасного хранения, если что-то пойдет не так; моя копия находится в обновлении 2 вопроса), затем удалить элемент реестра.

После перезапуска explorer.exe любой файл с файлом .mas будет обрабатываться Проводником Windows как обычный файл.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .