Batch files
Posted: 2009-04-22 15:11:32
Those good old DOS batch files (bat) allows you to perform all kinds of commands.
Few examples.
Falcon 4 runtiles.bat (one line of it):
VTE build.bat:
ACE terrains _build_changes.bat:
build_ace_cwc_islands_with_key_and_binarize_objects.bat:
build_all_ace_islands_and_objects.bat:
I would like to dedicate this topic to few simple examples (second example here isn't anyway simple at least for me) how to use batch files to speed up use of cmd line utilities or just otherwise perform tasks in directories etc. Feel free to post examples and descriptions how to use various batching methods.
Few examples.
Falcon 4 runtiles.bat (one line of it):
Code: Select all
for %x in (h*.pcx) do alchemy -Q ---f -p -Xb256 -Yb256 %x mtiles\%x >nul
Code: Select all
@echo off
rem
rem This batch file will compile VTE mod from
rem source to an end user version.
rem
echo.
echo Building VTE...
echo.
rem
rem Compiling: addons
rem
cd..
IF EXIST addons (
echo *************
echo addons...
echo *************
cd addons
echo "I'm about to create PBO files in the addons folder..."
FOR /D %%i in (*.*) do ..\tools\FileBank %%i
cd ..
)
rem
rem Compiling: dta
rem
IF EXIST dta (
echo ***********
echo dta...
echo ***********
cd dta
echo "I'm about to create PBO files in the dta folder..."
FOR /D %%i in (*.*) do ..\tools\FileBank %%i
cd ..
)
echo Build done! Have a nice day :)
if /I "%1" EQU "" pause
Code: Select all
@Echo Off
set SOURCE=N:\Addons
set DESTINATION=D:\Workspaces\ACE\ACEIslands\full\@ACE-Islands\Addons
set WORKDIR=P:
set LOGPATH=D:\Workspaces\ACE\ACEIslands\log
set KEYPATH=D:\Workspaces\ACE\ACEIslands\keys
set TEMPPATH=D:\temp\binpbo
set BINPBOPATH="D:\Tools\BinPBO Personal Edition"
set INCLUDEFILE=N:\build-scripts\_include.txt
set VERFILE=D:\Workspaces\ACE\ACEIslands\full\@ACE-Islands\Docs\version.txt
set /P VERSION=<%VERFILE%
set BINFILE=N:\build-scripts\_changes_bin.txt
set PBOFILE=N:\build-scripts\_changes_pbo.txt
FOR /F %%i IN (%BINFILE%) DO (
rmdir /s /q %WORKDIR%\%%i\
mkdir %WORKDIR%\%%i\
REM svn export --force -q --non-interactive %SOURCE%\%%i %WORKDIR%\%%i
xcopy /S %SOURCE%\%%i %WORKDIR%\%%i\
)
FOR /F %%i IN (%PBOFILE%) DO (
rmdir /s /q %WORKDIR%\%%i\
mkdir %WORKDIR%\%%i\
REM svn export --force -q --non-interactive %SOURCE%\%%i %WORKDIR%\%%i
xcopy /S %SOURCE%\%%i %WORKDIR%\%%i\
)
FOR /F %%i IN (%BINFILE%) DO (
%BINPBOPATH%\BinPBO.exe %WORKDIR%\%%i %DESTINATION% -BINARIZE -CLEAR -TEMP %TEMPPATH% -DEBUG -INCLUDE %INCLUDEFILE% -SIGN %KEYPATH%\ACE_Islands_v%VERSION%.biprivatekey
REM ..\..\_Utils\FileBank.exe -property prefix=%%i ..\addons\%%i
)
FOR /F %%i IN (%PBOFILE%) DO (
%BINPBOPATH%\BinPBO.exe %WORKDIR%\%%i %DESTINATION% -CLEAR -TEMP %TEMPPATH% -DEBUG -SIGN %KEYPATH%\ACE_Islands_v%VERSION%.biprivatekey
REM ..\..\_Utils\FileBank.exe -property prefix=%%i ..\addons\%%i
)
FOR /F %%i IN (%PBOFILE%) DO (
rmdir /s /q %WORKDIR%\%%i\
)
FOR /F %%i IN (%BINFILE%) DO (
rmdir /s /q %WORKDIR%\%%i\
)
move /y %DESTINATION%\*.log %LOGPATH%\
Code: Select all
@echo off
rem BinPBO.exe ..m ;//BinPBO.exe D:\arma_editing\workspace\PROPER\PROPER_Anims\PROPER_Anims_Fast_Forward_Transition D:\arma_editing\workspace\PROPER\release -DEBUG -PREFIX PROPER -SIGN "D:\arma_editing\workspace\PROPER\BinPBO Personal Edition\PROPER.biprivatekey"
rem BinPBO.exe ..m ;//BinPBO.exe [source_path [destination_path] [-WINDOW]] [-BINARIZE [-CLEAR][-TEMP temp_path] ] -DEBUG
rem // Update to your local installation
set SOURCE="D:\Games\ArmA\_ACE-Islands\addons"
set DESTINATION="H:\ACE\@ace-islands"
set BINARIZETEMPPATH="H:\ACE\_binarize"
set TEMPPATH="H:\ACE\temp"
set DSUTILSPATH="D:\arma_editing\tools\DSUtils"
set BINPBOPATH="H:\ACE\BinPBO Personal Edition"
set KEYPATH="D:\Games\ArmA\_ACE-Islands\build-scripts"
set KEYNAME=ace_islands_v2
@echo on
rem // SVN export to TEMPPATH
svn export -q --non-interactive %SOURCE%\ace_cwc_obj %TEMPPATH%\ace_cwc_obj
svn export -q --non-interactive %SOURCE%\ace_cwc_tex %TEMPPATH%\ace_cwc_tex
svn export -q --non-interactive %SOURCE%\ace_island_abel %TEMPPATH%\ace_island_abel
svn export -q --non-interactive %SOURCE%\ace_island_base %TEMPPATH%\ace_island_base
svn export -q --non-interactive %SOURCE%\ace_island_cain %TEMPPATH%\ace_island_cain
svn export -q --non-interactive %SOURCE%\ace_island_eden %TEMPPATH%\ace_island_eden
svn export -q --non-interactive %SOURCE%\ace_island_noe %TEMPPATH%\ace_island_noe
svn export -q --non-interactive %SOURCE%\ace_island_objects %TEMPPATH%\ace_island_objects
svn export -q --non-interactive %SOURCE%\ace_land_t %TEMPPATH%\ace_land_t
svn export -q --non-interactive %SOURCE%\ace_island_ofp_world %TEMPPATH%\ace_island_ofp_world
svn export -q --non-interactive %SOURCE%\ace_res_obj %TEMPPATH%\ace_res_obj
rem // Create key from DSUTILSPATH
%DSUTILSPATH%\DSCreateKey.exe %KEYNAME%
rem // Binarize and pack files to
rem // Pack files to
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_cwc_obj %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX data3d -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_cwc_tex %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX data -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_abel %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_base %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_cain %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_eden %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_noe %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_objects %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_land_t %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_ofp_world %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_res_obj %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX o -SIGN %KEYPATH%\%KEYNAME%.biprivatekey
@echo off
echo All done!
pause
Code: Select all
@echo off
rem BinPBO.exe ..m ;//BinPBO.exe D:\arma_editing\workspace\PROPER\PROPER_Anims\PROPER_Anims_Fast_Forward_Transition D:\arma_editing\workspace\PROPER\release -DEBUG -PREFIX PROPER -SIGN "D:\arma_editing\workspace\PROPER\BinPBO Personal Edition\PROPER.biprivatekey"
rem BinPBO.exe ..m ;//BinPBO.exe [source_path [destination_path] [-WINDOW]] [-BINARIZE [-CLEAR][-TEMP temp_path] ] -DEBUG
rem // Update to your local installation
set SOURCE=H:\projects\svn.acemod.net\ace_islands\trunk\Addons
set DESTINATION=E:\Workspace\6thsensemod-ace\files\update\@6thACE-Islands\Addons
set TEMPPATH=H:\projects\svn.acemod.net\ace_islands\trunk\Addons
set BINPBOPATH="C:\Program Files (x86)\Bohemia Interactive\Tools\BinPBO Personal Edition"
set BINARIZETEMPPATH=D:\temp\binpbo
@echo on
cd %SOURCE%
rem // Binarize and pack files to
rem // Pack files to
for /d %%d in (*) do (
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\%%d %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG
)
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_aef_reallights %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX aef_reallights
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_ags_build %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX ags_build
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_ags_inds %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX ags_inds
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_ags_port %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX ags_port
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_anjaddon1 %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX anjaddon1
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_art_bd %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX art_bd
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_baracken %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX baracken
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_bkm_balkan %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX bkm_balkan
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_bkm_objects %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX bkm_objects
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_cwc_obj %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX data3d
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_cwc_tex %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX data
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_f3wx_o1 %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX f3wx_o1
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_fml_objects %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX fml_objects
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_freya %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX freya
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_island_rvmat_dta %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX ace_island_rvmat
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_jof_objects1 %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX jof_objects1
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_lth_d-day_pack %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX lth_d-day_pack
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_map_milobj-pack %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX map_milobj-pack
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_ob73east %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX ob73east
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_res_obj %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX o
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_tmyk_bridges %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX tmyk_bridges
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_tormobj %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX tormobj
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_vbsshed %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX vbsshed
%BINPBOPATH%\BinPBO.exe %TEMPPATH%\ace_vbswatowr %DESTINATION% -PACK -TEMP %BINARIZETEMPPATH% -DEBUG -PREFIX vbswatowr
@echo off
echo All done!
pause