Батчи

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

  • Позднеосеннее катание

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

  • Вирусы и антивирусы

    Попросили меня вчера наведаться в гости, в один знакомый офес. Говорят – у них там лепрозорий, все машины заражены вирусами, работать не получается, всё перегружается итд. В общем-то нормальная ситуация для места, где преобладает женский коллектив, а сисадминов не держат. Машин там около десятка, и ставить на каждую антивирус – можно замахаться. Да ещё и…

  • Возвращение

    Я снова вернулся к программингу псп 🙂 Все-таки есть какая-то прелесть в том, что некоторое время ты программишь на “языке высокого уровня”, когда не надо особо задумываться над скоростью выполнения программы и можно поизощряться в применении всяких паттернов и использовании стандартных библиотек. Но и в программинге псп тоже много интересного, например выжимание максимума из аццкого…

  • Countdown

    Итак, до вожделенного отпуска осталось около 3 дней. А тут ещё и ацкий кранч, из-за которого даже не успеваешь новости почитать (сейчас есть время написать, только потому что идёт полный ребилд проекта), впрочем это и неплохо, время пролетает намного быстрее. Недельный отпуск зимой – мечта работодателя. Отправляемся колонной из четырёх автомобилей на Буковель, будем распугивать…

  • Vi iMproved

    Напишу-ка я про один из самых интересных текстовых редакторов. Идея появилась после того, как я нашел аддин – интегрирующий основную функциональность в студию. http://viemu.com/ В связи с моим администраторским увлечением (я занимаюсь небольшим саппортом нескольких серверов фирмы моих знакомых) мне пришлось познакомиться с консолью юникса, а там и с текстовыми редакторами – конфиги-то надо править…

  • Крым

    Крым весной – это здорово 🙂 И пусть эта весна не очень теплая, там все-равно теплее и приятнее 🙂 Особенно в Ялте, все-таки это уже субтропики. Не очень приятно, правда, приезжать в 4 утра в Симферополь, но зато оттуда в такую рань очень легко выбраться. Приятно ходить по Ялте в 6 утра, когда ты еще…