Я нашел варианты этого вопроса, которые задают повсюду, и я попробовал все фактические ответы, которые я там нашел (включая изменение реестра для ассоциаций). Основная проблема заключается в следующем:
- Я создаю пакетный файл (простой пакет, имеющий эхо и паузу) на рабочем столе или в любой папке компьютера.
- Я дважды щелкаю по пакетному файлу, чтобы запустить его, и получаю:
Обходные пути включают в себя:
- Щелкните правой кнопкой мыши и запустите от имени администратора.
- Откройте командную строку и вызовите пакетный файл по имени.
Я справлялся с этой проблемой, просто используя эти обходные пути некоторое время, но я начинаю думать, что моя неспособность заставить некоторые программы работать должным образом (например, android.bat в Android Studio не запускается из-за того, что файл не найден, хотя он там есть) связана с этой проблемой. Если я не смогу исправить это на следующей неделе, я, вероятно, переформатирую.
Дополнительная информация:
- Это Windows 8.1 Pro 64-бит
- Других типов файлов, которые имеют эту проблему выполнения двойного щелчка, нет.
- Если я вызываю пакетный файл из другого пакетного файла, используя обходные пути, то это работает
- Это происходит независимо от того, в какой папке я нахожусь, и не происходит на виртуальной машине Hyper-V, использующей ту же копию Windows.
- Все обновления Windows запущены, я провел сканирование на вирусы и т. п. Единственное, что одновременно пошло не так, это то, что машина, похоже, немного замедлилась (в частности, когда я пытаюсь открыть диалоговые окна файлов в ЛЮБОЙ программе — теперь они открываются примерно через 5 секунд, а не мгновенно).
Буду очень признателен за любые идеи! Возможно, пришло время переформатировать (прошел уже год или около того).
Редактировать: Не знал о SuperUser. Кажется, этот вопрос может быть более уместен там!
Редактирование 2: У кого-нибудь есть идеи?
решение1
Проверьте системную среду COMSPEC. Она должна быть похожа на %SystemRoot%\system32\cmd.exe. Если она была изменена по какой-либо причине, файлы bat не смогут запускаться двойным щелчком.
решение2
Вы запускаете пакетный файл в «привилегированном пространстве». Microsoft осознала этот факт, и вам нужно отреагировать на это соответствующим образом.
Большинство вирусов и вредоносных программ используют корень диска ОС.
Все, что вам нужно сделать, это создать папку и переместить туда ваш пакетный файл.
C:\test\test.bat
Кстати, в «мире серверов» на самом деле считается плохой практикой устанавливать/запускать приложение на том же диске, что и ОС. Потребительские ноутбуки/настольные компьютеры — это нормально, но в пространстве серверов это плохая практика. Например, если ваш веб-сервер или база данных должны были запустить ошибочный процесс, а место журнала должно было заполнить диск, это могло бы буквально убить ОС.
Просто пара моих мыслей для размышлений.
Спасибо.
решение3
Я скопировал файл "cmd.exe" с другого ПК и вставил его в папку windows/system32/. Это решило мою проблему.