Батчи

Вот есть такая монструозная вещь, как 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

  • Поездка прошлых выходных

    Ездили мы на прошлых выходных на Кинбурнскую косу – заповедник в Херсонской области, асфальтированная дорога заканчивается где-то посерединке, и дальше надо пилить по пескам. Было нас 20 машин, умные люди свои машины оставили, загрузились в большой газон и порулили, а мы (оставшийся десяток машин) решили форсировать это дело своим ходом 🙂 Вот, собсно, об этом…

  • Карпаты – тест

    Сегодня буду ставить эксперимент – поездка в карпаты на один день 🙂 Т.е. утром приехали, вечером уехали. Интересно как к этому отнесется организм, да и вапще – надо узнать насколько это прикольно будет. Поскольку если понравится, то можно потом повторять и повторять, благо денег на дорогу по студенческому билету много не надо 🙂 Если ехать…

  • Ночной Киев

    Сегодня со Слоном катались по ночному городу. Что я могу сказать – прикольно – машин мало, едешь себе и едешь. Проехали по окружной – стока девок я ишо не видел, что самое интересное, там же было больше всего гаишников 🙂 Слон попросил порулить, сказал, что уже умеет ездить. Сказать что это было не совсем так…

  • почти зима

    Вот она, почти зима, уже выше +10 бывает только в солнечный день на этом самом солнце, пожелтевшая листва почти опала – эх… тоскливо. Вчера вот даже было закрытие роллерского сезона – собрались большой кучей народа на республиканском стадионе, покатались где-то часок и разъехались – холодно однако, и темно. Хочу лета! Share this post: Share on…

  • starcraft II beta

    Вчера утром в почте я обнаружил инвайт на бета-тест второго старкрафта. Очень приятная неожиданность, ну очень! 🙂 Вечером я до него наконец-то добрался и сел чуток “потестить”. Итак, в бете доступен только мультиплеер, работает автоматическая система подбора противника по уровню профессионализма, можно обойтись без неё, но я до этого пока не добрался, поставил себе новичка…

  • Как я провел выходные

    В субботу “утром” поперся на м.”Лесная”, откуда мы толпой поехали в ТРЦ “Терминал”, как оказалось кататься на картингах, ну меня обломало и мы с группкой раскольников пошли играть в боулинг – мой первый экспириенс. Игра оказалась на удивление занятной, надо будет почитать про технику кидания гадкого, тяжелого шарика по полированному полу. За час мы успели…