Файл пакета Windows не запускается при двойном щелчке, как восстановить ассоциацию с cmd.exe?

Вопрос или проблема

Windows 8 64-бит. Пользователь, под которым я вошел в систему, имеет права администратора. Когда я открываю окно cmd, заголовок окна даже говорит “Администратор: cmd.exe”.

Итак, я установил ассоциацию моего .bat файла, чтобы он открывался в Notepad++, и теперь я не могу установить его обратно, чтобы .bat файл запускался при двойном щелчке. Я пробовал несколько веб-страниц, которые предлагали редактировать реестр, но безуспешно.

Когда я пытаюсь объединить .reg файл с моим ПК, я получаю ошибку “У вас нет разрешений” или что-то в этом роде. Мой пользователь не “администратор”, но мой пользователь “chuck” действительно имеет права администратора. Всегда имел.

  1. Я попробовал этот метод, .reg файл объединился без ошибок, но когда я дважды щелкаю на .bat файл, он все еще открывается в Notepad++. Я скачал файл для изменения только ассоциации .bat файлов. Нужно ли перезагрузить ПК?

  2. Я также попробовал внести изменения в реестр здесь: перейдите сюда. Это тоже не сработало.

  3. Расширение .bat файла не может быть изменено в “Ассоциировать расширение файла с программой” в Панели управления. Когда я пытаюсь ассоциировать cmd.exe с .bat файлом, я получаю ошибку вроде “Вы не можете ассоциировать эту программу с этим файлом”.

  4. Я нашел ссылку, но нет записи .bat файла под FileExts. Также по этой ссылке у меня нет ключа UserChoice для удаления в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.b‌​at\UserChoice.

  5. Перезагрузил ПК, проблема осталась. Я убедюсь, что Notepad++ не восстанавливает ассоциации с самим собой каждый раз, когда он запускается. РЕДАКТИРОВАНО: Согласно настройкам NPP, он не регистрирует .bat файлы.

Есть еще идеи? Я имею дело с этой проблемой уже 3 месяца.

ПРИМЕЧАНИЕ: Некоторые исправления этой проблемы работают на Windows 7, но НЕ работают на Windows 8.


ОБНОВЛЕНИЕ: Исправлено. Я должен был

  1. Создать ярлык на regedt32.exe на рабочем столе.
  2. Щелкнуть правой кнопкой мыши на ярлык и выбрать “Запуск от имени администратора”, хотя у моего пользователя есть права администратора.
  3. Искать во всем реестре строку “notepad”, где я нашел хитрую маленькую штуку здесь: HKEY_CURRENT_USER\Software\Microsoft\Windows\\**Roaming**\OpenWith\FileExts\\.bat и удалил элемент UserChoice.
  4. Перезагрузить Windows.

Восстановление ассоциаций cmd, bat и exe работает иначе, чем другие типы файлов.

Чтобы восстановить их, запустите CMD.EXE от имени администратора, затем:

Microsoft Windows [Version 6.0.6003]
Copyright (c) 2006 Microsoft Corporation. Все права защищены.

C:\Windows\system32>assoc .bat=exefile
.bat=exefile

C:\Windows\system32>assoc .cmd=exefile
.cmd=exefile

Вот и все!

У меня та же проблема на Windows 10. Я решил ее, следуя приведенным ниже шагам.

  1. Запустите regedit с привилегиями администратора.

  2. Перейдите в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

  3. Убедитесь, что есть ключ UserChoice, который указывает редактор или то, что вы назначили.

  4. Удалите ключ UserChoice.

  5. Закройте regedit.

Теперь дважды щелкните на любом .bat файле, и он должен запуститься.

Мне не нужно было перезагружать мой ПК, который работает на Windows 10.

Это предполагает, что вы являетесь администратором

Вы можете установить ассоциации с командной строки, начните -> выполните -> введите ‘cmd’ (без кавычек) и нажмите Enter

Затем введите

cmd /c assoc .bat

Это даст вам тип файла, который ОС считает файлом .bat делает/выполняет/что угодно

cmd /c ftype batfile

Это даст вам команду, которая выполняется, когда вы ‘выполняете’ файл – предположим, что первая команда возвращает ‘.bat=batfile’, вам нужно установить ассоциацию, и вы делаете это с помощью этой команды

Ftype batfile="%1" %*

.

Ответ или решение

В условиях, описанных вами, мы имеем дело с проблемой, связанной с неправильной ассоциацией файлов .bat в операционной системе Windows 8 x64. Пользователь указал, что файлы .bat по ошибке ассоциируются с Notepad++, а попытки восстановить правильную ассоциацию через реестр или стандартные средства Windows не увенчались успехом. Давайте разберемся, как решить эту проблему, применяя системный подход.

Теория

Ассоциации файлов в Windows определяют, какая программа будет открывать тот или иной тип файла по умолчанию. Когда вы устанавливаете определенную программу, она может изменить данные ассоциации, чтобы открывать файлы этого типа (например, текстовые редакторы часто ассоциируют с собой файлы .txt и .bat). Однако, восстанавливать ассоциации для служебных файлов, таких как .bat, .cmd и .exe, бывает непросто, так как они требуют особого подхода и повышенных привилегий для изменения системных настроек. Административные права не всегда гарантируют полный доступ к необходимым настройкам, особенно если права не были честно назначены или реестровые файлы защищены комплексной системой безопасности, введенной для защиты от потенциальных угроз.

Пример

В приведенном примере пользователь предпринял несколько попыток восстановления, включая изменение реестра и использование командной строки. В частности, он пытался изменить ассоциации с помощью небольшого реестрового скрипта и использования системных команд, которые теоретически должны были восстановить ассоциацию .bat с командным интерпретатором (cmd.exe).

Он обнаружил, что ключ «UserChoice» в реестре был установлен неверно, что приводило к открытию файлов Notepad++. Этот ключ можно удалить или изменить, чтобы восстановить правильную ассоциацию. Однако для доступа к ключам реестра необходимо запускать редактор реестра с полными административными привилегиями, даже если у пользовательского аккаунта уже имеются административные права, что является особенностью уровней безопасности Windows.

Применение

Чтобы решить данную проблему, следуйте подробным инструкциям, приведенным ниже:

  1. Запуск редактора реестра с повышенными правами.

    • Создайте ярлык для regedt32.exe на рабочем столе.
    • Щелкните правой кнопкой по ярлыку и выберите «Запуск от имени администратора».
  2. Редактирование реестра для удаления неверных ассоциаций.

    • Перейдите в раздел реестра: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat.
    • Найдите и удалите ключ «UserChoice». Это ключ, который отвечает за указание программы, выбранной пользователем для открытия того или иного типа файла.
  3. Перезапуск операционной системы (по необходимости).

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

    • Откройте командную строку с правами администратора.
    • Введите команды:
      assoc .bat=batfile
      ftype batfile="%1" %*

      Эти команды заставляют Windows воспринимать файлы .bat как исполняемые командным интерпретатором объекты, восстановив их исходную ассоциацию.

  5. Проверка ассоциаций.

    • После выполнения вышеуказанных шагов попробуйте дважды щелкнуть по любому файлу .bat, чтобы убедиться, что он исполняется командным интерпретатором, как и предполагалось.

Данный подход должен помочь вам восстановить ассоциации файлов .bat с cmd.exe на вашей Windows 8. Если проблема останется, возможно стоит проверить и другие параметры системных настроек или обратиться за помощью к специалисту по ИТ, чтобы исключить другие потенциальные проблемы, такие как влияние антивирусного ПО или сторонних защитных утилит.

Оцените материал
Добавить комментарий

Капча загружается...