0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 8
1

CMD не закрывается командой EXIT

19.05.2014, 18:42. Показов 4487. Ответов 7
Метки нет (Все метки)

Есть небольшой скриптик, всё работает корректно кроме того, что после последней итерации CMD не закрывается. Если в первом цикле выбрать "н", то закрывается отлично, а если во втором выбрать "н" (не запускать игру заново), то просто запускается explorer.exe и всё. Окошко CMD остаётся открытым. Это, конечно, решается лишним кликом мышкой, но хотелось бы, чтобы всё работало как задумано :-)

Собственно, сам aoe.bat

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
@echo off
:start
SET /P ANSWER=Start Age of Empires 2: Age of Kings (Y/N)?
if /i {%ANSWER%}=={y} (goto kill)
exit
:kill
taskkill /f /im explorer.exe
:play
cd /d "C:\Games\age_of_empires"
"C:\Games\age_of_empires\aoc.exe"
SET /P EXIT=Start game again (Y/N)?
if /i {%EXIT%}=={y} (goto play)
goto restart
:restart
cd /d "C:\Windows"
"C:\Windows\explorer.exe"
exit
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.05.2014, 18:42
Ответы с готовыми решениями:

Не могу вызвать командой HELP список команд CMD
Не могу вызвать список команд через help

Bat файл для запуска CMD с нужной командой
Здравствуйте! А подскажите скрипт для bat файла, чтобы запустить консоль и выполнить в ней нужную...

Запуск cmd с командой из программы
Добрый вечер! В программе потребовалось запустить cmd с командой. Сначала подумал, мне нужно что то...

Как выйти из цикла командой "Exit"
// Необходимо выйти из цикла командой "Exit" // и только этой командой int main() {...

7
Клюг
7670 / 3185 / 382
Регистрация: 03.05.2011
Сообщений: 8,381
19.05.2014, 20:41 2
Цитата Сообщение от MaTuAc Посмотреть сообщение
Окошко CMD остаётся открытым.
Запускайте эксплорер через start "C:\Windows\explorer.exe" , чтобы CMD не ждал его завершения.
1
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 8
21.05.2014, 16:50  [ТС] 3
Тогда почему-то запускается новое окно CMD с директорией %windir%...
Миниатюры
CMD не закрывается командой EXIT  
0
Эксперт WindowsАвтор FAQ
17675 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
21.05.2014, 18:42 4
Лучший ответ Сообщение было отмечено MaTuAc как решение

Решение

MaTuAc, запускайте так:

Bash
1
start "" "C:\Windows\explorer.exe"
Добавлено через 36 секунд
Либо
Bash
1
start C:\Windows\explorer.exe
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 8
21.05.2014, 18:46  [ТС] 5
Спасибо, так работает на ура.
А можно краткий ликбез, почему так было? То что без команды «start» cmd ожидает завершения программы для дальнейшего сценария это я понял. А зачем было пустой параметр "" указывать? В справочнике ничего на эту тему не нашёл.
0
Pure Free Digital Ghost
4356 / 1795 / 350
Регистрация: 06.01.2013
Сообщений: 4,411
21.05.2014, 20:02 6
MaTuAc, если указаны кавычки, то start воспринимает первый параметр как заголовок окна. И только второй как саму программу.
0
0 / 0 / 0
Регистрация: 12.01.2012
Сообщений: 8
21.05.2014, 20:03  [ТС] 7
Ясно, спасибо.
0
Эксперт WindowsАвтор FAQ
17675 / 7515 / 888
Регистрация: 25.12.2011
Сообщений: 11,288
Записей в блоге: 16
21.05.2014, 20:43 8
Bash
1
start /?
там все написано.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2014, 20:43

Запускается без cmd и закрывается сразу
cpp файл #include <sstream> #include <string> #include "IntList.h" using namespace std; ...

Не могу открыть cmd, сразу закрывается
...

Закрывается окно cmd при отладке
Доброго времени, уважаемые форумчане! Я изучаю С++ в Visual C++ 2008 Express Edition на Windows 7....

НЕ Закрывается cmd после запуска простого приложения с++
Пишу любую простую программу на с++ в microsoft visual studio express 2013 desktop.Компиляция без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.