У меня есть обычный файл на компьютере Microsoft Windows 7, который называется MYFILE.MAS
, как видно из (например) cmd.exe
. (Вы можете создать его, это просто пустой файл). Однако при графическом просмотре этого файла с помощью проводника Windows этот файл обрабатывается иначе, чем любой другой (например, MYFILE.XYZ
):
(Мои параметры просмотра всегда должны показывать расширения файлов). Просмотр свойств и попытка использовать контекстное меню отличаются от любого другого обычного файла:
Я даже не могу переименовать файл в проводнике Windows, изменив расширение (это нужно делать в оболочке, т. е 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» (он же 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
файлы такими же, как и любые другие обычные файлы. Исправлено!
решение1
Благодаря некоторой помощи отэта ссылка, оказывается, это значение реестра, которое (при добавлении) делает расширение оболочки скрытым, называется (достаточно безобидно) NeverShowExt
, а также, IsShortCut
ключ будет рассматривать файл как ярлык (вот почему вы видите маленькую стрелку ярлыка). Конкретно для моего реестра ключ был в[HKEY_CLASSES_ROOT\Access.Shortcut.StoredProcedure.1]
Выполнение поиска и очистки по этим ключам покажет все «скрытые» расширения; однако учтите, что вам придется завершить работу, а затем перезапустить приложение explorer.exe
из диспетчера задач (или перезагрузить компьютер), чтобы удаленные ключи вступили в силу.
Надеюсь, это поможет.
решение2
Решением было найти HKEY_CLASSES_ROOT\.mas
раздел реестра, экспортировать его (для сохранности, на случай, если что-то пойдет не так; моя копия находится в обновлении 2 вопроса), а затем удалить элемент реестра.
После перезапуска explorer.exe
любой файл с расширением .mas
file будет обрабатываться проводником Windows как обычный файл.