Як виконувати команди cmd через командний файл?


90

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

  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

Відповіді:


110

Отже, створіть фактичний пакетний файл: відкрийте блокнот, введіть команди, які потрібно виконати, і збережіть як .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все в порядку. В обох випадках я виконую його як адміністратор. Скажіть, будь ласка, що я роблю не так?
Mike B.

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
Стефан

24

Я вважаю правильним синтаксис:

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

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

16

Це виправляє деякі проблеми з відповіддю Блоргберда (але не перевірено):

@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

Я шукав це, тому радий, що ви це опублікували, хоча це не те, що хотів ОП :)
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 НЕ ПОДОБАЄ пробіли в іменах папок. Ваш код починається з

cd c: \ Програмні файли \ IIS Express

і він намагається перейти до c: \ Program замість C: \ "Program Files"

Змініть ім’я папки та ім’я * .exe. Сподіваюся, це допомагає


Зміна назви папки? Ви напевно жартуєте.
Вернер Хенце

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

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