Ответ
 
Опции темы
Старый 22.09.2008, 12:42      #1
SoaT
Модератор
Пользователь Mozilla Firefox
 
Аватар для SoaT
 
Регистрация: 12.09.2006
Адрес: about:robots
Возраст: 32
Сообщений: 3,825
Вопрос Создание bat-файла

Помогите, кто разбирается, создать bat-файл для запуска WarCraft'а.
Алгоритм такой:
  1. Монтирование вирт.диска
    "C:\Program Files\Alcohol Soft\Alcohol 120\AxCmd.exe" E: /M:"C:\Games\Warcraft\Virtual\WarCraft III.mds"
  2. Запуск WarRan'а
    C:\Games\Warcraft\WarRun\WarRun.exe
  3. Запуск wl3.exe
    C:\Games\Warcraft\w3l.exe
    w3l запускает war3.exe, только как-то странно. Как не выяснял.
  4. Ожидание окончания war3.exe
  5. Закрытие WarRun'а
    taskkill /IM "WarRun.exe"
Если бы знать как выполнить 4-ый пункт...
Так же было бы интересно, можно ли вытаскивать данные из реестра и потом использовать их?

Последний раз редактировалось SoaT; 22.09.2008 в 12:43.
SoaT вне форума Пол: Мужчина   Ответить с цитированием Вверх
Старый 22.09.2008, 13:33      #2
Fafnir
Местный
Пользователь Mozilla Firefox
 
Аватар для Fafnir
 
Регистрация: 18.10.2006
Сообщений: 676
По умолчанию

обязательно bat? Не осилит, боюсь.
Погляди VBasic и Windows Scripting Host.
Fafnir вне форума   Ответить с цитированием Вверх
Старый 23.09.2008, 00:09      #3
SoaT
Модератор
Пользователь Mozilla Firefox
 
Аватар для SoaT
 
Регистрация: 12.09.2006
Адрес: about:robots
Возраст: 32
Сообщений: 3,825
По умолчанию

Да из меня кодер не кудышный Таже в таких простых случаях. Думал мб есть какая-нибуть команда.
SoaT вне форума Пол: Мужчина   Ответить с цитированием Вверх
Старый 23.09.2008, 00:24      #4
Slava
Боец
[United]
Пользователь Google Chrome
 
Аватар для Slava
 
Регистрация: 11.09.2006
Адрес: Петрозаводск
Сообщений: 22,544
Пользователь играет в Call Of Duty 2
По умолчанию

? SoaT ?, можно для таких целей заюзать Daemon Script
еще и размонтировать образ в конце можна

И это вроде уже обсуждалось
http://forum.battlefox.ru/showthread...026#post249026

Последний раз редактировалось Slava; 23.09.2008 в 00:41.
Slava вне форума Пол: Мужчина   Ответить с цитированием Вверх
Старый 23.09.2008, 10:08      #5
bmp
Пользователь
 
Регистрация: 08.04.2007
Адрес: Петрозаводск
Возраст: 33
Сообщений: 62
По умолчанию

Ξ SoaT Ξ, 4-5 пункты можно попробывать выполнить, например, так:
Код:
@rem Выключаем вывод сообщений на экран
@echo off

:loop
rem Считаем кол-во запущеных процессов с именем war3.exe, если их кол-во =0, то идем на :end
for /f "usebackq" %%a in (`tasklist /fi "Imagename eq war3.exe" 2^>nul ^| find /c "war3.exe"`) do if "%%a" equ "0" goto end
rem Делаем паузу в 1 сек.
ping -n 2 127.0.0.1 >nul
rem Идем на :loop
goto loop

:end
taskkill /IM "WarRun.exe"
bmp вне форума Пол: Мужчина   Ответить с цитированием Вверх
Благодарности: 3
Ξ SoaT Ξ (23.09.2008), Slava (25.09.2008), zloy_kaktus (28.04.2009)
Старый 23.09.2008, 23:04      #6
SoaT
Модератор
Пользователь Mozilla Firefox
 
Аватар для SoaT
 
Регистрация: 12.09.2006
Адрес: about:robots
Возраст: 32
Сообщений: 3,825
По умолчанию

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

bmp, спасибо, буду разбираться

Добавлено через 4 часа 11 минут
Вот что у меня в итоге получилось
Код:
echo off

echo Entering Virtual CD
"C:\Program Files\Alcohol Soft\Alcohol 120\AxCmd.exe" E: /M:"C:\Games\Warcraft\Virtual\WarCraft III.mds"

echo Starting WarRan
start C:\Games\Warcraft\WarRun\WarRun.exe

echo 4 sec pause
ping -n 4 127.0.0.1

echo Starting W3l.exe
start C:\Games\Warcraft\w3l.exe

echo 10 sec pause
ping -n 10 127.0.0.1

echo Waiting when the war3.exe will be close...
:loop
rem Считаем кол-во запущеных процессов с именем war3.exe, если их кол-во =0, то идем на :end
for /f "usebackq" %%a in (`tasklist /fi "Imagename eq war3.exe" 2^>nul ^| find /c "war3.exe"`) do if "%%a" equ "0" goto end
rem Делаем паузу в 1 сек.
ping -n 2 127.0.0.1 >nul
rem Идем на :loop
goto loop
:end

echo OK. Closing WarRan
taskkill /IM "WarRun.exe"

echo on
А других способов паузы нету?

Добавлено через 1 минуту
Только чегото taskkill /IM "WarRun.exe" пишет что все нормально, процесс убит, хотя на самом деле ни чего он не убил... мб ребут решит траблу..

Последний раз редактировалось SoaT; 23.09.2008 в 23:05. Причина: Добавлено сообщение
SoaT вне форума Пол: Мужчина   Ответить с цитированием Вверх
Старый 24.09.2008, 00:00      #7
bmp
Пользователь
 
Регистрация: 08.04.2007
Адрес: Петрозаводск
Возраст: 33
Сообщений: 62
По умолчанию

Ξ SoaT Ξ, несколько способов создания пауз описаны здесь.
Убиение можно попробывать ужесточить - принудить завершиться и (на всякий случай) убить дочерние процессы:
Код:
taskkill /T /F /IM "WarRun.exe"
bmp вне форума Пол: Мужчина   Ответить с цитированием Вверх
Благодарности: 2
Ξ SoaT Ξ (24.09.2008), Slava (25.09.2008)
Старый 26.09.2008, 23:48      #8
Ringo
Местный
 
Аватар для Ringo
 
Регистрация: 08.12.2006
Сообщений: 2,870
По умолчанию

Оффтоп
Оффтоп Гм.. Всегда был уверен в том, что комманда прописнная в батнике не запустится пока не выполниццо предыдущая... =\
Хотя особо в этот процесс не углублялся.
__________________
Und wie du wieder aussiehst, Löcher in der Hose und ständig dieser Lärm...
Elektrische Gitarren und immer diese Texte...
Ringo вне форума   Ответить с цитированием Вверх
Старый 27.09.2008, 02:00      #9
SoaT
Модератор
Пользователь Mozilla Firefox
 
Аватар для SoaT
 
Регистрация: 12.09.2006
Адрес: about:robots
Возраст: 32
Сообщений: 3,825
По умолчанию

Ringo, start решает
SoaT вне форума Пол: Мужчина   Ответить с цитированием Вверх
Старый 07.05.2010, 11:01      #10
vasil
Пользователь
 
Регистрация: 24.04.2008
Сообщений: 139
По умолчанию

Помогите пожалуйста с такой проблемой. Мне надо скопировать каталог с одного диска на другой, но проблема в том, что этот каталог имеет еще подкаталоги. Если я применяю в bat файле команду copy например (сopy "d:\KLUpdater\Updates\*.*" "\\Serverrfu\Updates\Update distribution\*.*") то копируется только 2 файла из основного каталога, а подкаталоги не не хотят. Помогите пожалуйста очень надо это сделать.
vasil вне форума   Ответить с цитированием Вверх
Старый 07.05.2010, 15:19      #11
bmp
Пользователь
 
Регистрация: 08.04.2007
Адрес: Петрозаводск
Возраст: 33
Сообщений: 62
По умолчанию

vasil, если правильно понял и Windows не ниже 2000, то счастье близко:
Код:
xcopy "d:\KLUpdater\Updates\*" "\\Serverrfu\Updates\Update distribution\" /e
bmp вне форума Пол: Мужчина   Ответить с цитированием Вверх
Благодарности: 1
vasil (12.05.2010)
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
USDownloader Slava Интернет и сети 9 30.11.2016 15:52
Оружейная: Надводные корабли НАТО Al 777 Оружие и военная техника 161 11.06.2009 08:28
CD\DVD\HDDVD\BluRay: Создание обложек Slava BattleSoft Navigator 0 31.03.2009 19:43
Кто придумал вирусы? DS_disan Программная - Windows 0 23.09.2008 17:30
pdfFactory: Создание PDF файлов* a2z Работа с текстом 0 17.11.2006 19:34


Обратная связь
Текущее время: 17:39. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot