Bat-файл для запуска .exe из командной строки


134

Я хочу создать файл .bat, чтобы я мог просто щелкнуть по нему, чтобы он мог работать:

svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

Может ли кто-нибудь помочь мне со структурой .bat файла?


Ответы:


199

Чтобы запустить программу и затем закрыть командную строку, не дожидаясь выхода программы:

start /d "path" file.exe

10
@MehdiJ: устанавливает домашний каталог.
Абатищев

2
можно ли запустить bat-файл из веб-браузера? как javascript для вызова файла bat ??
Karthi

5
@Karthi: извините, это невозможно
Абатищев

2
@Karthi Вы не хотите, чтобы javascript мог запускать файл bat по соображениям безопасности.
Роланд

1
как ждать выхода программы?
m4l490n 04

48

Ты можешь использовать:

start "windowTitle" fullPath/file.exe

Примечание: первый набор кавычек должен быть там, но вам не нужно в них ничего помещать, например:

start "" fullPath/file.exe

9
«Первый набор кавычек» - это просто заголовок окна и НЕ требуется. Однако лучше всего указать каталог запуска с помощью / d. start /d "fullpath" file.exe Это гарантирует, что все зависимые файлы, например, DLL, будут найдены и загружены.
Том Уилсон,

34

это очень простой код для выполнения кода нижеуказанного типа в блокноте и сохранения в расширение .bat Пример: notepad.bat

start "c:\windows\system32" notepad.exe   

(приведенный выше код "c: \ windows \ system32" - это путь, по которому вы сохранили свою программу .exe, а notepad.exe - это файл вашего программного файла .exe)

наслаждаться!


27

Просто поместите эту строку в файл bat ...

В качестве альтернативы вы даже можете создать ярлык для svcutil.exe, а затем добавить аргументы в «целевое» окно.


7

Bat-файл не имеет структуры ... это то, как вы набираете его в командной строке. Так что просто откройте свой любимый редактор ... скопируйте строку кода, которую хотите запустить ... и сохраните файл как something.bat или что-то еще.cmd


7

Просто вставьте файл и назовите его «ServiceModelSamples.bat» или что-то в этом роде.

Вы можете добавить «@echo off» в первой строке, чтобы команда не выводилась на экран:

@echo off
svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service

И вместо того, чтобы добавлять в @echo offкачестве первой строки, вы можете просто добавить @в начале строки, которую вы не хотите
повторять

6

Что тебя останавливает?

Поместите эту команду в текстовый файл, сохраните его с расширением .bat (или .cmd) и дважды щелкните по нему ...

Предполагая, что команда выполняется в вашей системе, я думаю, что это все.


6

Если вы хотите быть по-настоящему умным, введите в командной строке:

echo svcutil.exe /language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service >CreateService.cmd

Тогда у вас есть CreateService.cmdто , что вы можете запускать, когда захотите ( .cmdэто просто еще одно расширение для .batфайлов)


3

Как описано здесь о Startкоманде, следующее запустит ваше приложение с указанными вами параметрами:

start "svcutil" "svcutil.exe" "language:cs" "out:generatedProxy.cs" "config:app.config" "http://localhost:8000/ServiceModelSamples/service"
  • "svcutil"после startкоманды - имя, присвоенное окну CMD при запуске указанного приложения. Это обязательный параметр startкоманды.

  • "svcutil.exe"- это абсолютный или относительный путь к приложению, которое вы хотите запустить. Использование кавычек позволяет использовать пробелы в пути.

  • После того как приложение для запуска было указано, все следующие параметры интерпретируются как аргументы, отправленные приложению.


2

Если для ваших папок установлено «скрытие расширений файлов», вы назовете файл * .bat или * .cmd, и он все равно будет текстовым файлом (скрытое расширение .txt). Убедитесь, что вы можете правильно назвать файл!


1

Что ж, важным моментом, похоже, здесь является то, что svcutil по умолчанию недоступен из командной строки, вы можете запустить его из ярлыка строки vs xommand, но если вы обычно создаете командный файл, это не поможет, если вы не запустите файл vcvarsall.bat раньше сценарий. Ниже приведен образец

"C: \ Program Files \ Microsoft Visual Studio * версия * \ VC \ vcvarsall.bat"
svcutil.exe / язык: cs /out:generatedProxy.cs /config:app.config http: // localhost: 8000 / ServiceModelSamples / service
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.