Как запустить o файл

Обновлено: 07.07.2024

Запуск программ в командной строке активирует целый механизм по поиску и выполнению этой программы. Очень важно понимать, как он работает, так как проблемы с запуском вновь установленных программ возникают регулярно у всех разработчиков.

Программа, независимо от того, что она делает, всего лишь файл или набор файлов на диске. Один из этих файлов обязательно должен быть исполняемым. Помните тот самый x из урока про права доступа? Так вот, выполнить программу можно только если она исполняемая, иначе попытка запустить её приведёт к ошибке.

Весь механизм по запуску программ в *nix-системах основан на соглашениях. Когда в командной строке вводится некоторая команда, например, ls , то шелл начинает поиск исполняемого файла с именем ls в списке директорий, указанном в переменной окружения PATH .

Директории друг от друга отделяются двоеточием. В этом списке присутствуют как общесистемные пути, так и пути, специфичные для конкретного пользователя. В вашем случае PATH будет другой. Процесс поиска программы выглядит следующим образом. Шелл перебирает директории слева направо и ищет ту, в которой есть файл ls , доступный для исполнения. Если такого файла не оказалось, то выводится ошибка:

Подчеркну, что важен порядок. Если файл с одним и тем же именем находится одновременно в нескольких директориях, то будет найден тот, который находится в директории, расположенной левее.

Если вам интересно узнать, а где лежит исполняемый файл конкретной программы, то можно воспользоваться командой type (а ещё which и whereis ):

По выводу выше видно, что cp принадлежит суперпользователю, но исполнять его могут все.

Обратите внимание на то, что почти все директории, в которых хранятся исполняемые файлы программ, оканчиваются на bin . Это общее соглашение, говорят "бинарники" (формально там не всегда бинарники, но это не принципиально). Пакетные менеджеры знают про эти директории и во время установки программ переносят их бинарники в одну из директорий, входящих в PATH . Для вновь устанавливаемых программ обычно это /usr/local/bin . Иногда возникает необходимость расширить PATH , особенно в случае установки через пакетные менеджеры языков программирования, но делать это надо осторожно, убедившись в том, что по-другому нельзя.

В некоторых ситуациях программа, которую вы хотите запустить, не лежит по путям поиска (прописанным в PATH ) и не должна там оказаться. Если её исполняемый файл находится прямо в текущей директории, то логично предположить, что если набрать имя файла и запустить его, то программа выполнится. На самом деле этого не произойдёт.

Такое поведение сделано в целях безопасности. Ведь возможно вы хотели запустить какую-то стандартную программу, а злоумышленник положил в текущую директорию программу с таким же именем, но делающую что-то плохое. По этой причине, прямой запуск программ всегда должен быть путём до файла, например path/to/executable/file . А если файл лежит в текущей директории? Вот тут-то нам и поможет обращение через точку ./ :

Изменение переменной PATH

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

  • .bashrc
  • .bash_profile
  • .profile

В зависимости от настроек терминала, Bash прогружает либо одни файлы, либо другие. Если в вашей домашней директории есть файл .bashrc, то пробуйте использовать его, если нет, то остальные файлы в том порядке, в котором они приведены выше. Добавьте в этот файл следующую строку:

Где /path/to/directory путь до директории с исполняемыми файлами.

ОС Windows по умолчанию связывает каждый файл с приложением, которое его запускает.

JNLP (Java Network Launch Protocol) – это формат файла, который позволяет запускать приложение на клиентском рабочем столе с помощью удаленного веб-сервера.

Однако несколько пользователей сообщили, что файл JNLP не открывается при попытке доступа к файлу. Даже если у вас есть необходимое программное обеспечение для открытия файла .jnlp, оно может не запуститься автоматически.

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

В этой статье мы рассмотрим, что такое формат файла JNLP и как решить проблему с открытием файла JNLP на компьютерах с Windows.

Что это за файл – JNLP?

Файл JNLP не открывается / не запускается автоматически [Исправлено]

Формат Java Network Launch Protocol (JNLP) содержит такую ​​информацию, как удаленный адрес для загрузки Java-программы и других классов. Файлы JNLP используются для запуска приложений Java и управления ими по сети.

Файлы JNLP обычно имеют формат файла XML. Для просмотра и редактирования файла у вас должен быть текстовый редактор с форматом файла XML. Для выполнения файла на вашем компьютере должна быть установлена ​​среда выполнения Java.

Хотя JNLP является частью технологии Java Web Start, он поставляется в комплекте с Java Runtime Environment для открытия файлов JNLP.

Как открыть файл JNLP в Windows 10?

Файл JNLP не открывается / не запускается автоматически [Исправлено]

  1. Загрузите и установите Java Runtime Runtime Environment. Запустите установщик и следуйте инструкциям на экране, чтобы установить программу.
  2. Щелкните правой кнопкой мыши файл JNLP, который не открывается, и выберите «Открыть с помощью».
  3. В окне «Как вы хотите открыть этот файл» прокрутите вниз и нажмите «Искать другое приложение на этом ПК».
  4. Когда откроется окно проводника, перейдите в следующее место:
    **C:Program Files (x86)Javajre1.8.0_261bin**
  5. Выберите javaws.exe и нажмите кнопку «Открыть». Это откроет файл JNLP, как задумано.
  6. Обязательно установите флажок Всегда использовать это приложение для открытия файлов .jnlp в окне Как вы хотите открыть этот файл, чтобы сохранить JRE в качестве приложения по умолчанию для открытия этого файла.

Если файл JNLP JNLP по-прежнему не запускается, перейдите к следующему набору шагов ниже.

Установить 64-битную версию JRE

Файл JNLP не открывается / не запускается автоматически [Исправлено]

  1. Посетите центр загрузки Java.
  2. Прокрутите вниз и щелкните ссылку Windows offline (64-bit), чтобы загрузить автономный установщик, и дождитесь завершения загрузки.
  3. После завершения загрузки дважды щелкните программу установки, чтобы запустить ее. Следуйте инструкциям на экране, чтобы установить приложение.
  4. После установки перезагрузите компьютер. После перезагрузки попробуйте открыть файл JNLP и проверьте наличие улучшений.

Если вы используете 64-битную версию Windows, вам может потребоваться вручную загрузить и установить 64-битную версию JRE.

Сообщается, что несколько пользователей исправили проблему, из-за которой файл JNLP не открывался, установив правильную версию среды выполнения Java.

Как запустить файл JNLP в командной строке Windows?

Файл JNLP не открывается / не запускается автоматически [Исправлено]

  1. Выберите ссылку на веб-странице, которая указывает на файл .jnlp. Если ваш браузер не имеет правильной ассоциации для запуска приложений Web Start, выберите команду install_dir / jre / bin / javas в окне Open / Save, чтобы запустить приложение Web Start.
  2. Затем в командной строке введите следующую команду и нажмите Enter, чтобы выполнить:
    **Javaws <URL>**
  3. В приведенной выше команде это расположение файла .jnlp.

Как мне автоматически открывать файлы JNLP?

Файл JNLP не открывается / не запускается автоматически [Исправлено]

  1. Нажмите клавиши Windows + R на клавиатуре, чтобы открыть Настройки.
  2. Щелкните ” Приложения”.
  3. На левой панели щелкните вкладку Приложения по умолчанию.
  4. Прокрутите вниз и нажмите Выбрать приложения по умолчанию по типу файла.
  5. Прокрутите вниз до типа файла .jnl и нажмите кнопку Выбрать по умолчанию.
  6. Выберите Java (TM) Web Launcher.
  7. Закройте окно настроек и откройте проводник.
  8. Теперь найдите и дважды щелкните файл JNLP, чтобы проверить, открывается ли он автоматически.

Система Windows требует JRE для запуска файлов JNLP. Иногда, если файл связан с другими программами, это может привести к возникновению файла JNLP, а не проблемы с открытием.

Установка JRE или ручной выбор ассоциации файлов по умолчанию в настройках может помочь вам решить проблему.

Мненадо запустить bat файл, Есть переменная с путем к нему. Как в басе это сделать? Он ищет файлы где-то в своих директориях. Нельзя ему прямо указать путь чтобы он запустил откуда надо?


0_1488729537051_Bat.jpg

@bronshik Можете указать полный путь в действии "Запустить Процесс" это запустит бат. Напоминаю, что есть действия "Расположение Ресурса" и "Путь к проекту" они помогут превратить относительный путь в абсолютный.
Также можно ввести содержимое бат прямо в "Запустить Процесс"

Мненадо запустить bat файл, Есть переменная с путем к нему. Как в басе это сделать? Он ищет файлы где-то в своих директориях. Нельзя ему прямо указать путь чтобы он запустил откуда надо?

Можно переместиться в директорию с помощью команды "cd <путь к директории файла>"
Например "cd C:\users\user\documents\uses_file"
И запустить файл указав его имя и расширение
Например <file_name.bat>
В этом случае он запустит "file_name.bat" файл в дириктории "C:\users\user\documents\uses_file"
("C:\users\user\documents\uses_file\file_name.bat")
Будьте осторожны BAS не восприимчив к русскому регистру т.е. путь к директории и имя запускаем его файла не должено содержать символы русского алфавита.

Либо с помощью команды "start" или "exec" параметрах которых вы можете найти в интернете или используя параметры "/?".

А как запустить exe файл


@draudi420 Экшен Запустить Процесс и в нём полный путь до файла. Всё.

0_1507646351069_upload-c67a11fe-012d-4bcd-bf14-cd676cc742fd


Значит это должно запустить SpeedFan? Но так не работает.

@draudi420 И еще один вопрос что будет сохраняться в перменную?


@draudi420 Да, всё так. Только если в пути присутствуют пробелы или кирилица, то нужно весь путь обрамлять в кавычки:

Да, ещё желательно галочку ждать завершения убрать, если это не нужно в логике скрипта. А то скрипт будет просто ждать закрытия speedfan.exe.

В переменной будет ответ запуска. Откройте командную строку и введите туда то что вводите в экшен запустить процесс, то что получите в ответ в ней, то и в BAS будет в переменной.

@Fox Огромное спасибо! Ещё один вопрос, как сделать относительную адресацию?


@draudi420 Если вы про относительные ссылки то быстрее было использовать поиск. Первые же ссылки тык и тык.

Не знаю, по какой-то причине, мне удалось запустить exe только с диска с (правда, BAS установлен на e): я делал с батником и без, с правами админа и без, с кавычками и без - протрахался целый час. Но запустилось только с С-диска. Можем, кому-то поможет, если столкнется с таким же.


Не знаю, по какой-то причине, мне удалось запустить exe только с диска с (правда, BAS установлен на e): я делал с батником и без, с правами админа и без, с кавычками и без - протрахался целый час. Но запустилось только с С-диска. Можем, кому-то поможет, если столкнется с таким же.

Уже говорили об этом, для запуска приложения с другого диска, нужно переключится на него перед запуском. Например:

Не знаю, по какой-то причине, мне удалось запустить exe только с диска с (правда, BAS установлен на e): я делал с батником и без, с правами админа и без, с кавычками и без - протрахался целый час. Но запустилось только с С-диска. Можем, кому-то поможет, если столкнется с таким же.

Уже говорили об этом, для запуска приложения с другого диска, нужно переключится на него перед запуском. Например:

CD papka\ пробовал тоже, а чисто букву диска первой строкой - нет. Спасибо, не нашел по форуму


Не знаю, по какой-то причине, мне удалось запустить exe только с диска с (правда, BAS установлен на e): я делал с батником и без, с правами админа и без, с кавычками и без - протрахался целый час. Но запустилось только с С-диска. Можем, кому-то поможет, если столкнется с таким же.

Уже говорили об этом, для запуска приложения с другого диска, нужно переключится на него перед запуском. Например:

CD papka\ пробовал тоже, а чисто букву диска первой строкой - нет. Спасибо, не нашел по форуму

Полностью путь CD papka\ -- что это?


014bd67a-78cb-431f-b1db-e7b59510bed5-image.jpg

@seoshnek

Как запустить или отобразить(или обработоть на сервере и отобразить в браузере) exe файл в браузере? Были ответы:

Это точно работает? Как проверить на винде, нельзя создать файл .htaccess

При выполнении команды os.system "PATH/TO/EXE.EXE" в Python-сервере будет исполняться исполняемый файл и вывод из stdout попадает на страницу. Вроде, всё просто и легко выполняемо!

У меня вывелся только текст скрипта. Чтото не так сделал?

Копаем в сторону CGI и виндус-хостингов. Прямо в браузере нельзя, браузер не ось, да и небезопасно, а вот вывод вполне возможен. Вопрос запуска личных экзешников лучше задавать хостеру в саппорт перед покупкой хостинга :)

Приведите рабочие примеры и принцип их работы

Вообще напишите рабочие примеры, что нибудь работает?

Напишите что думайте про эти ответы пожалуйста и напишите свои и примеры к ним, если можно


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

Все три ответа правильные, просто вам не хватает знаний, чтобы понять ответ

Что такое веб-сервер: википедия

Теперь вы можете написать и собрать такой EXE файл, который отдаст браузеру все что вы хотите и так, как вы хотите. Но учтите, что кроме как с вашего ПК, где запущен этот EXE, более никто не увидит этого

Запускать EXE-файлы на хостингах вам никто не даст из соображений безопасности, ну и бессмысленности тоже. Максимум, вы можете арендовать что-то вроде VPS/VDS с Windows на борту (не дешевое удовольствие) и закачать туда свой EXE и запустить уже там

Если вас такой вариант не устраивает, прочитайте про языки вроде PHP и Python. Они позволяют сделать все, что вы собираетесь сделать в своем EXE, и даже немного больше. Но без всяких EXE файлов и на обычных хостингах.

Возможно ваша задача решается без всякого запуска EXE. Опишите лучше изначальную задачу, будет полезнее - вам смогут подсказать варианты решения задачи, а не одно конкретное решение с EXE, которое сильно отдает уроками информатики где-то в 2000 году

Читайте также: