Как выполнить команды cmd через командный файл?


94

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

  1. Открыть cmd
  2. Запустить команду cmd cd c:\Program files\IIS Express
  3. Запустить команду cmd iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
  4. Откройте Internet Explorer 8 с URL =http://localhost:8088/default.aspx

Примечание: окно cmd не должно закрываться после выполнения команд.

Я попытался запустить cmd.exe / k «cd \ & cd ProgramFiles \ IIS Express» , но это не решает мою задачу.


6
с какой проблемой вы столкнулись?
argentum47

Ответы:


114

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

Для начала попробуйте что-нибудь вроде этого:

c:\
cd c:\Program files\IIS Express
start iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
start http://localhost:8088/default.aspx
pause

1
спасибо @Blorgbeard. он работает, кроме 4-й строки. это не открытие по данному URL.
Patel

браузер вообще открывается?
Blorgbeard выйдет

О, я думаю, что знаю, что происходит - посмотрите мою правку, я добавил "начало" перед iisexpressстрокой.
Blorgbeard выйдет

@Blorgbeard, я пробую ваш подход, "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --serviceно он не работает. Когда я выполняю эту строку, CMDвсе в порядке. В обоих случаях я выполняю его как admin. Подскажите пожалуйста, что делаю не так?
Майк Б.

4
@MikeB. startпринимает первый аргумент в кавычках как заголовок окна. Попробуйтеstart "" "C:\Program Files\MongoDB\Server\3.3\bin\mongod.exe" --install --dbpath=C:\data\db --logpath=C:\data\log\log.txt --auth --service
Стефан

25

Я думаю, что правильный синтаксис:

cmd /k "cd c:\<folder name>"

4
Очень красивый вариант '/ k'. Таким образом, даже после нажатия CTRL + C cmd не выходит. Большое спасибо :-)
Пушпендра 05

16

Это устраняет некоторые проблемы с ответом Blorgbeard (но не проверено):

@echo off
cd /d "c:\Program files\IIS Express"
start "" iisexpress /path:"C:\FormsAdmin.Site" /port:8088 /clr:v2.0
timeout 10
start http://localhost:8088/default.aspx
pause

8

cmd / c "командный" синтаксис работает хорошо. Кроме того, если вы хотите включить исполняемый файл, содержащий пробел в пути, вам понадобятся два набора кавычек.

cmd /c ""path to executable""

и если вашему исполняемому файлу требуется ввод файла с пробелом в пути, другой набор

cmd /c ""path to executable" -f "path to file"" 

6
@echo off
title Command Executer
color 1b

echo Command Executer by: YourNameHere
echo #################################
: execute
echo Please Type A Command Here:
set /p cmd=Command:
%cmd%
goto execute

3
"Как мне выполнять команды cmd через пакетный файл?" Хех, технически правильно.
Вивек Чавда

2
Технически правильно ... да ... но также именно то, что вам нужно, если вы находитесь на школьном компьютере и командная строка отключена, а пакетные файлы - нет.
RetroCraft 04

Я искал это, поэтому я рад, что вы разместили это, хотя это не то, что хотел OP :)
dandeto

1

cmd / k cd c: \ - правильный ответ


cmd / k "cd <путь, по которому должен быть выполнен cmd (например, c: \ users \ desktop \ myFolder)> & <ваша команда (например, pm2 start)>"
Techdive

1
start cmd /k "your cmd command1"
start cmd /k "your cmd command2"

Он работает в Windows server2012, пока я использую эту команду в одном пакетном файле.


-8

Я знаю, что приглашение DOS и cmd НЕ НРАВИТСЯ на пробелы в именах папок. Ваш код начинается с

компакт-диск c: \ Program files \ IIS Express

и он пытается перейти в c: \ Program вместо C: \ "Program Files"

Измените имя папки и имя * .exe. Надеюсь это поможет


Изменить имя папки? Ты должно быть шутишь.
Вернер Хенце

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

Когда меняешь "Программные файлы" .... xD. Я согласен с Вернером. Вот что происходит: ваши приложения, которые жестко определяют местоположение файла, больше не работают, некоторые системные функции могут не работать, ваша система выходит из
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.