Запустите программу из командной строки, не открывая новое окно

Я пытаюсь программно выполнить внешний файл из CMD с помощью этой команды:

START "filepath"

Где filepath - путь к моему файлу. Он открывается нормально, но также открывает новое окно командной строки.

Итак, какая команда подходит для открытия внешних программ без открытия нового окна?

10 ответов

В Windows 7 первые цитаты будут заголовком окна CMD, чтобы открыть программу.

    Start "title" "C:\path\program.exe"

Форматирование вашей команды, как описано выше, временно откроет окно CMD, которое исчезает так же быстро, как и появляется, так что вы действительно никогда его не увидите.

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

Добавьте /B, как описано в справке командной строки для запуска:

C:\>start /?
Starts a separate window to run a specified program or command.

START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
  [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
  [/NODE <NUMA node>] [/AFFINITY <hex affinity mask>] [/WAIT] [/B]
  [command/program] [parameters]

"title"     Title to display in window title bar.
path        Starting directory.
B           Start application without creating a new window. The
            application has ^C handling ignored. Unless the application
            enables ^C processing, ^Break is the only way to interrupt
            the application.

Я думаю, что если вы закрыли программу

taskkill /f /im "winamp.exe" 
//....(winamp.exe is example)...

конец, так что если вы хотите запустить программу, которую вы можете использовать

start "" /normal winamp.exe 

(/ norma, /max/min - это значение процесса)

ТАКЖЕ

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

если вы хотите командную строку, не открывая новое окно, вы пишете, что

start / b "filepath" введите описание изображения здесь

/ B - запуск приложения без создания нового окна. Приложение игнорирует обработку ^C. Если приложение не разрешает обработку ^C, ^Break - единственный способ прервать приложение.

Просто удалите двойную кавычку, это работает в Windows 7:

start C:\ProgramFiles\folderName\app.exe

Если вы хотите увеличить окно, попробуйте это:

start /MAX C:\ProgramFiles\folderName\app.exe


Ваша команда START "filepath" запустит командную строку и изменит название командной строки на filepath,

Попробуй запустить start /? в командной строке Windows, и вы получите больше информации.

20190907

ОС: Win 10

Я делаю exe на С ++, по какой-то причине при нажатии START моя программа не работает.

Итак, просто используйте кавычки:

"c:\folder\program.exe"

Если вы делаете это через CMD, как вы говорите, то вы можете просто ввести команду так:

path\to\your.exe 

который откроет его в том же окне. Например, в C++:

system("path\\to\\your.exe"); // Double backslash for escaping

откроется your.exe в текущем окне CMD. Аналогично, чтобы начать с нового окна, просто перейдите к:

system("start path\\to\\your.exe");

Если вы выберете первый вариант, вам придется очистить экран, если вы не хотите иметь команду, чтобы открыть your.exe на экране все еще.

Вы можете использовать call команда...

Тип: call /?

Использование: call [drive:][path]filename [batch-parameters]

Например call "Example File/Input File/My Program.bat" [Это также возможно для вызова файлов, которые имеют .exe, .cmd, .txt и т. Д.

ПРИМЕЧАНИЕ: ЭТА КОМАНДА НЕ ВСЕГДА РАБОТАЕТ!!!

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

Проще и безопаснее использовать explorer.exe для запуска файлов / исполняемых файлов, он также открывает файлы со связанной программой и запускает исполняемые файлы напрямую, если вы выполните:

      start "" "%windir%\explorer.exe" "C:\Path\To\some.pdf"

Если *.PDFфайлы не связаны с какой-либо программой. Это работает аналогично двойному щелчку и запускает диалоговое окно «Открыть с помощью программы».

      start "" "%windir%\explorer.exe" "%windir%\system32\calc.exe"

Поднимет калькулятор.

      start "" "%windir%\explorer.exe" "C:\pagefile.sys"

Появится предупреждение вроде: Вы пытаетесь открыть системный файл (*.sys) ... выберите программу ...

Важный

explorer.exe всегда требует полного пути к исполняемому файлу / файлу, а не относительного пути. Если вы хотите использовать относительные пути, используйте

      start "" "%windir%\explorer.exe" "relative\file.pdf","C:\dir\"

Связанные с безопасностью

С использованием start "" "some\file.dat"будет пытаться выполнить файл как бинарный файл и запустить его, если это возможно. Это может закончиться проблемами, связанными с безопасностью. Вы можете проверить это, создав копию cmd.exe называя это dummy.dat и запустите его, используя start dummy.dat

Я получил это работает от qkzhu, но вместо использования MAX измените его на MIN, и окно закроется очень быстро.

@echo off
cd "C:\Program Files (x86)\MySQL\MySQL Server 5.6\bin"
:: Title not needed:
start /MIN  mysqld.exe
exit

1-Откройте вашу папку, содержащую ваше приложение в проводнике. 2-Нажмите SHIFT и щелкните правой кнопкой мыши в пустом пространстве. 3-Нажмите на "Открыть командное окно здесь". 4-Запустите ваше приложение. (вы можете ввести несколько первых символов имени приложения и нажать клавишу со стрелкой вверх или клавишу со стрелкой вниз)

Другие вопросы по тегам