Двойной щелчок по пакетному файлу Windows не может найти файл

Двойной щелчок по пакетному файлу Windows не может найти файл

Я нашел варианты этого вопроса, которые задают повсюду, и я попробовал все фактические ответы, которые я там нашел (включая изменение реестра для ассоциаций). Основная проблема заключается в следующем:

  1. Я создаю пакетный файл (простой пакет, имеющий эхо и паузу) на рабочем столе или в любой папке компьютера.
  2. Я дважды щелкаю по пакетному файлу, чтобы запустить его, и получаю:

введите описание изображения здесь

Обходные пути включают в себя:

  1. Щелкните правой кнопкой мыши и запустите от имени администратора.
  2. Откройте командную строку и вызовите пакетный файл по имени.

Я справлялся с этой проблемой, просто используя эти обходные пути некоторое время, но я начинаю думать, что моя неспособность заставить некоторые программы работать должным образом (например, android.bat в Android Studio не запускается из-за того, что файл не найден, хотя он там есть) связана с этой проблемой. Если я не смогу исправить это на следующей неделе, я, вероятно, переформатирую.

Дополнительная информация:

  1. Это Windows 8.1 Pro 64-бит
  2. Других типов файлов, которые имеют эту проблему выполнения двойного щелчка, нет.
  3. Если я вызываю пакетный файл из другого пакетного файла, используя обходные пути, то это работает
  4. Это происходит независимо от того, в какой папке я нахожусь, и не происходит на виртуальной машине Hyper-V, использующей ту же копию Windows.
  5. Все обновления Windows запущены, я провел сканирование на вирусы и т. п. Единственное, что одновременно пошло не так, это то, что машина, похоже, немного замедлилась (в частности, когда я пытаюсь открыть диалоговые окна файлов в ЛЮБОЙ программе — теперь они открываются примерно через 5 секунд, а не мгновенно).

Буду очень признателен за любые идеи! Возможно, пришло время переформатировать (прошел уже год или около того).

Редактировать: Не знал о SuperUser. Кажется, этот вопрос может быть более уместен там!

Редактирование 2: У кого-нибудь есть идеи?

решение1

Проверьте системную среду COMSPEC. Она должна быть похожа на %SystemRoot%\system32\cmd.exe. Если она была изменена по какой-либо причине, файлы bat не смогут запускаться двойным щелчком.

решение2

Вы запускаете пакетный файл в «привилегированном пространстве». Microsoft осознала этот факт, и вам нужно отреагировать на это соответствующим образом.

Большинство вирусов и вредоносных программ используют корень диска ОС.

Все, что вам нужно сделать, это создать папку и переместить туда ваш пакетный файл.

C:\test\test.bat

Кстати, в «мире серверов» на самом деле считается плохой практикой устанавливать/запускать приложение на том же диске, что и ОС. Потребительские ноутбуки/настольные компьютеры — это нормально, но в пространстве серверов это плохая практика. Например, если ваш веб-сервер или база данных должны были запустить ошибочный процесс, а место журнала должно было заполнить диск, это могло бы буквально убить ОС.

Просто пара моих мыслей для размышлений.

Спасибо.

решение3

Я скопировал файл "cmd.exe" с другого ПК и вставил его в папку windows/system32/. Это решило мою проблему.

Связанный контент