Батчи

Вот есть такая монструозная вещь, как batch files в виндовсе, намного неудобнее любого sh или perl, но! Зато процессор оных стоит на каждой машине с виндовсом, а значит у каждого художника или геймдизайнера (или бухгалтера, клерка и кто там ещё пользуется компьютером в других отраслях).
Так вот, о чём это я – о том, что на самом деле со времён доса и 98 винды многое изменилось – нынешний cmd стал намного полезней того кошмара, что был много лет назад.
Мне даже удалось написать скрипт для сборки всех 30 наших уровней и практически обойтись без GOTO.

@echo off

set EXPORTER=..\..\tool\il_psp_exporter

set PC_RKB=..\build\pc\maps
set PC_CMD=-pwsp\il_psp.ddhproj -tPC -lRUS -xDX9 -xOpenAL -d

set PSP_RKB=..\build\psp\PSP_GAME\USRDIR\data\maps
set PSP_CMD=-pwsp\il_psp.ddhproj -tPSP -lRUS -xSASCore -d

IF  [%1]==[] (
 echo Usage: "build_level.bat level_number", or "build_level.bat all" for all levels export
 exit

) ELSE IF [%1]==[all] (
 echo building all levels
 FOR /L %%i IN (1, 1, 30) DO (
  CALL :s_export_level %%i
 )

) ELSE CALL :s_export_level %1

GOTO :eof

:s_export_level

 echo =============================
 echo processing level%1...
 echo =============================
 echo ----------------------------- 
 echo exporting briefing
 echo ----------------------------- 
 echo skipped due to technical reasons
 rem %EXPORTER% wsp\brf_level%1.ddlproj -o%PC_RKB%\brf_level%1.rkb %PC_CMD%
 rem %EXPORTER% wsp\brf_level%1.ddlproj -o%PSP_RKB%\brf_level%1.rkb %PSP_CMD%

 echo ----------------------------- 
 echo exporting PC content
 echo ----------------------------- 
 %EXPORTER% wsp\level%1.ddlproj -o%PC_RKB%\level%1.rkb %PC_CMD%

 echo ----------------------------- 
 echo exporting PSP content
 echo ----------------------------- 
 %EXPORTER% wsp\level%1.ddlproj -o%PSP_RKB%\level%1.rkb %PSP_CMD%
 echo =============================
GOTO :eof
_Winnie C++ Colorizer

Что у нас тут имеется:
Инициализация переменных – тут всё вроде бы просто.
Ветвление – обрамляется скобками, открывающая должна быть на той же строке, что и IF (ELSE)
Цикл по цифрам (есть ещё много других циклов, по каталогам, файлам, содержимому файлов).
Ещё имеется функция – это действительно функция (или субрутина, кому как) её можно вызывать и передавать параметры, что, собсно и делается.

Similar Posts

  • Отдых

    Съездил я тут на длинные выходные к бабушке. Харашо-то как Машенька…(с) Свежий воздух, никакого тебе шума, старые друзья-приятели – Идиллия прям. Аж уезжать не хотелось. Вообще, надо стараться как можно чаще, и желательно подольше, всё-таки вырваться из города, так как и отдыхаешь, и понимаешь, насколько город тебя зазомбировал и забетонировал 🙂 Вернулся, а тут ждёт…

  • iGo 8 PC

    Есть такие гаджеты – GPS навигаторы, коих развелась тьма тьмущая, я сам с таким зверьком довольно долго прокатался. Один из самых удобных (с моей точки зрения) тот, на котором стоит IGO. Может быть из-за того, что я очень долго с ним дружил, а может фактический факт, но это самая удобная в пользовании программа, которую я…

  • Октоберфест, Киев

    Вчера ходили на вариацию Октоберфеста, которую проводят в Киеве. Идя туда было ощущение, что приду, посмотрим чего там такого и пойдем куда-нить в другое место. Внутри оказалось на удивление интересно, играла заводная ирландская музыка, бегали “немецкие” мальчики и девочки и царила довольно праздничная атмосфера. Самым большим позитивом были столы – под обоими тентами почти все…

  • Снова пьянка

    На выходные ездили на дачу к нашей малой, формально – праздновать защиту магистров, реально – просто “погулять”. На этот раз было прикольнее чем прошлые пьянки – там есть футбольное поле. Мы посидели на пляже и пошли играть в футбол. Хорошая игра, тем более на фоне ЧМ 🙂 Отбегались так, что когда вернулись назад, то и…

  • Motorola Droid Turbo XT1254 CDMA tuning

    У моего телефона почему-то после каждой перепрошивки слетают настройки EVDO на Интертелекоме, из-за чего нужно править настройки. Т.к. я всё время забываю процедуру, то решил её сохранить тут. Запускаем телефон в режиме BP Tools (из fastboot bootloader меню) Идём в Device Manager, выбираем устройство diag_mdm и ручками ставим драйвер Motorola QC Diag Port Запускаем DFS…