Не удается найти файл Bat
Обновлено: 21.11.2024
Я понятия не имею, когда это начало происходить, но это мешает мне открывать файлы .bat по двойному щелчку. Я могу запустить его только от имени администратора. Можно ли как-то исправить это, чтобы я мог дважды щелкнуть вместо того, чтобы работать от имени администратора? Из-за этого некоторые программы не работают.
Я попытался сбросить ассоциацию файлов в реестре, проверил переменные среды и проверил, действительно ли cmd находится в папке System32.
Если потребуется дополнительная информация, я постараюсь ее предоставить.
Вы должны показать нам скриншот того, что происходит в окне командной строки, а также записи реестра ассоциаций файлов.
Вы можете попробовать сначала запустить FTYPE batfile="%1" %* из командной строки, а затем запустить ASSOC .bat=batfile и посмотреть, поможет ли это. Если нет, то из командной строки с повышенными привилегиями администратора введите sfc /scannow и нажмите Enter. Дождитесь завершения, перезагрузите компьютер и повторите попытку.
Помимо совета @PimpJuiceIT, я заметил, что файл .bat находится на рабочем столе. Попробуйте скопировать его в какую-нибудь папку и запустить оттуда. Это может быть связано с разрешениями.
3 ответа 3
Хорошо, некоторые из вас могут подумать, что я глупый, но именно так я решил эту проблему.
Я зашел в переменные среды и искал COMSPEC, но вместо этого нашел ComSpec. Как только я переименовал его обратно в COMSPEC, все снова заработало.
Я понятия не имею, как его вообще переименовали, но это решило мою проблему.
Надеюсь, это поможет другим людям решить эту проблему.
Переменные среды не чувствительны к регистру. Моя переменная compsec находится в верблюжьем корпусе и отлично работает. ComSpec=C:\WINDOWS\system32\cmd.exe
Как в мире это работает: P Я столкнулся с ошибкой установки Flutter, и это помогло мне после долгих часов борьбы. Большое спасибо.
Я думаю, что это связано с cmd, а не с вашим конкретным файлом bat. поэтому откройте cmd (меню «Пуск» >> «Выполнить» >> введите cmd и нажмите ENTER) на панели задач, щелкните правой кнопкой мыши значок cmd, вы увидите небольшое меню, щелкните правой кнопкой мыши первый параметр в (Командная строка). теперь выберите «Свойства», затем на вкладке «Ярлык» нажмите «Дополнительно», затем установите флажок «Запуск от имени администратора», затем нажмите «ОК» и «ОК». Попробуйте сейчас запустить файл bat.
прокомментируйте, если это не помогло решить вашу проблему. в противном случае проголосуйте за мой ответ как за решение.
Тим Фишер имеет более чем 30-летний опыт работы в сфере технологий. Он пишет о технологиях более двух десятилетий и является вице-президентом и генеральным директором Lifewire.
Что нужно знать
- BAT-файл — это пакетный файл Windows.
- Дважды щелкните его, чтобы запустить, или откройте его с помощью Блокнота для редактирования.
- Преобразовать в EXE с помощью IExpress.
В этой статье объясняется, что такое BAT-файл, как открыть его для выполнения, как отредактировать его, чтобы внести в него изменения, и как преобразовать BAT-файл в EXE, MSI или другой формат.
Что такое BAT-файл?
Файл с расширением .BAT является пакетным файлом Windows. Это простой текстовый файл, содержащий различные команды, используемые для повторяющихся задач или для запуска групп сценариев один за другим.
Программное обеспечение всех типов использует файлы BAT для различных целей, например для копирования или удаления файлов, запуска приложений и завершения процессов.
Их также называют пакетными файлами, сценариями, пакетными программами, командными файлами и сценариями оболочки, и вместо этого они могут использовать расширение .CMD.
Работа с файлами BAT может быть очень опасна не только для ваших личных файлов, но и для важных системных файлов. Будьте предельно осторожны, прежде чем открывать его.
Как открыть файл .BAT
Несмотря на то, что расширение BAT немедленно заставляет Windows распознавать такие файлы как исполняемые, они по-прежнему полностью состоят из текстовых команд. Это означает, что любой текстовый редактор, например Блокнот, в том числе во всех версиях Windows, может открыть его для редактирования.
Чтобы открыть файл BAT в Блокноте, щелкните его правой кнопкой мыши и выберите в меню Показать дополнительные параметры > Изменить (или просто Изменить в некоторых версиях Windows). Возможно, вам будет полезно использовать более продвинутые текстовые редакторы, поддерживающие подсветку синтаксиса при редактировании файла BAT.
Если открыть его в текстовом редакторе, отобразится код, из которого состоит файл. Например, это текст внутри одного, используемого для очистки буфера обмена:
Вот еще один пример BAT-файла, который использует команду ping, чтобы узнать, может ли компьютер подключиться к маршрутизатору с этим конкретным IP-адресом:
Опять же, поскольку это расширение исполняемого файла, будьте очень осторожны при открытии файлов BAT, которые вы получили по электронной почте, скачали с веб-сайтов, с которыми вы не знакомы, или даже создали сами.
Как использовать BAT-файл
Для использования BAT-файла в Windows достаточно просто дважды щелкнуть или дважды коснуться его. Вам не нужно загружать какую-либо специальную программу или инструмент.
Чтобы использовать первый пример выше, введите этот текст в текстовый файл с помощью текстового редактора, а затем сохраните файл с расширением .BAT, чтобы сделать его исполняемым файлом, который вы можете открыть, чтобы немедленно удалить все, что сохранено в буфере обмена.
Во втором примере выполняется проверка связи с этим IP-адресом; команда pause оставляет окно командной строки открытым после завершения процесса, чтобы вы могли увидеть результаты.
Если ваш файл не похож на текстовый, возможно, вы имеете дело не с BAT-файлом. Проверьте расширение файла, чтобы убедиться, что вы не перепутали его с файлом BAK или BAR (данные Age of Empires 3).
Как преобразовать файл .BAT
Как показано, код файла BAT никоим образом не скрыт, что означает, что его очень легко редактировать. Поскольку определенные инструкции в одном из них (например, команда del) могут нанести ущерб вашим данным, может быть целесообразно преобразовать файл BAT в формат, подобный EXE, чтобы сделать его более похожим на файл приложения.
Вы можете преобразовать BAT в EXE с помощью нескольких инструментов командной строки. См. How-To Geek, чтобы узнать, как это сделать.
- Встроенный в Windows инструмент IExpress предоставляет еще один способ создания EXE-файла из BAT-файла. Откройте его из окна «Выполнить» с помощью iexpress.exe.
- Хотя бесплатная версия является пробной, EXE в MSI Converter Pro может преобразовать полученный EXE-файл в файл MSI (пакет установщика Windows).
- Вы можете использовать бесплатный инструмент командной строки NSSM, если хотите запустить BAT-файл в качестве службы Windows. может помочь вам преобразовать код из BAT-файла в сценарий PowerShell.
Вместо того, чтобы искать конвертер BAT в SH (сценарий оболочки bash), чтобы использовать команды в таких программах, как Bourne Shell и Korn Shell, попробуйте просто переписать сценарий, используя язык Bash. Структура этих двух форматов сильно различается, поскольку файлы используются в разных операционных системах. Существует поток переполнения стека и это руководство по сценариям оболочки Unix для получения некоторой информации, которая может помочь вам перевести команды вручную.
Обычно вы не можете изменить расширение файла (например, BAT) на такое, которое распознается вашим компьютером, и ожидать, что переименованный файл можно будет использовать. Фактическое преобразование формата файла с использованием одного из методов, описанных выше, должно иметь место в большинстве случаев. Однако, учитывая, что файлы BAT — это просто текстовые файлы с расширением .BAT, вы можете переименовать их в .TXT, чтобы открыть их в текстовом редакторе. Помните, что преобразование BAT в TXT не позволит пакетному файлу выполнять свои команды.
Как сохранить файл .BAT как файл .TXT
Вместо того, чтобы вручную изменять расширение файла с BAT на TXT, вы также можете открыть пакетный файл в Блокноте для редактирования, а затем сохранить его в новый файл, выбрав .TXT в качестве расширения файла перед сохранением вместо .BAT.< /p>
Это также то, что вам нужно сделать при создании нового файла BAT в Блокноте, но наоборот: сохранить текстовый документ по умолчанию как BAT вместо TXT. В некоторых программах может потребоваться сохранить его в файле типа "Все файлы", а затем самостоятельно присвоить ему расширение .bat.
Хотя файлы BAT встречаются редко, они могут содержать вирусы, как и файлы большинства других форматов. Сканируйте любой файл, который вы загружаете из Интернета, с помощью антивирусного инструмента, чтобы избежать вредоносного ПО.
Пакетный сценарий — это отдельный язык. Основная функция пакетного сценария — автоматизировать повторяющиеся команды.
Комментарии — это строки текста, не влияющие на выполнение кода. Комментарии обычно включают документацию, такую как назначение BAT-файла. Используйте команду REM (Remarks), чтобы добавить комментарии к файлам BAT.
Выключение – с. Чтобы завершить работу с 10-секундным таймером, используйте shutdown -s -t 10. Команде выключения должен предшествовать @echo off.
Фото предоставлено: Изображение Jae Rue с Pixabay
Я пытаюсь написать простой файл .bat, который будет искать файл и, если найдет, копирует его в сетевой каталог.
Проблема заключается в том, что файл находится в подкаталоге рабочего стола пользователя, и некоторые пользователи используют локальный рабочий стол, а некоторые — рабочий стол Onedrive.
Мне потребовалось некоторое время, чтобы найти надежный способ определить, какой рабочий стол использует пользователь, и в конце концов остановился на этом довольно запутанном методе установки правильного пути ExportDir, но он установил правильный путь.
C:
set getdesk=REG QUERY "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Desktop
ДЛЯ /f "delims=(=" %%G IN ('%getdesk% ^|find "_SZ"') DO set desktop=%%G
set desktop1=%desktop:*USERPROFILE%\=%
set ExportDir = ""
if EXIST "%userprofile%\OneDrive\Desktop\TimeReportAppExportDir \*.csv" (set ExportDir="%userprofile%\OneDrive\Desktop\TimeReportAppExportDir") else (set ExportDir="%userprofile%\Desktop\TimeReportAppExportDir")
echo "Проверка Профиль пользователя: %userprofile%"
echo "Проверка каталога экспорта: %ExportDir%"
dir %ExportDir%
timeout /t 30
if EXIST "%ExportDir%\*.csv" goto CopyJobs
echo "Сеть доступна, но нет экспортировать найденные файлы."
timeout /t 30
Выход
:CopyJobs< br /> c:
echo "Проверка доступности экспорта Jobs.csv."
if not EXIST "%ExportD ir%\jobs.csv" Перейти к NoJobs
В приведенном выше примере пакетный файл работает для некоторых пользователей, использующих рабочий стол OneDrive, но не работает для тех, кто использует локальный рабочий стол.
При запуске пакетного файла задается правильный путь, и с помощью этого пути оператор DIR перечисляет файлы.
Однако оператор «Если не существует. » не работает, несмотря на то, что файлы существуют, он не может их найти, даже если переменная %ExportDir% указывает на правильный каталог, а предыдущий "dir %ExportDir%" перечисляет файл.
Я думал, что проблема может быть больше связана с OneDrive, но на самом деле проблема связана с локальным рабочим столом.
Читайте также: