I got stuck on a small problem due to my little knowledge.
I have this file (program.txt)
:SHORTSOURCEMENU
REM -- MENU --
RAFAS
RAFASD
:SOURCESELECT
IF "%SOURCEDOT%" == "124" SET SOURCE=enUS
IF "%SOURCEDOT%" == "125" SET SOURCE=esMX
IF "%SOURCEDOT%" == "126" SET SOURCE=ptBR
IF "%SOURCEDOT%" == "127" SET SOURCE=enGB
I want lile 3 (rafas, to become):
set SOURCE=124
I want line 4 (rafasd, to become):
set SOURCEDOT=124
Now that the file has been written the way it will work, I need to rename program.txt to program.bat.
OR, I could CREATE a new file called program.bat instead of renaming, even better :D
Thanks guys
thiago costaPosted Sep 28, 2011, 9:10 PM
I appreciate your help I will try your code tonight see how it works but I don't really understand the syntax of your code, and c# in general. And I wish I could work with classes none of the programs I make have a class there fore, my codes look like HUGE balls... I need help lol..
This is how I was able to get it done :
private void button1_Click(object sender, EventArgs e)
{
if (RS_124.Checked) {TBsource.Text = "124";}
if (RS_125.Checked) { TBsource.Text = "125"; }
if (RS_126.Checked) { TBsource.Text = "126"; }
if (RS_127.Checked) { TBsource.Text = "127"; }
if (RS_128.Checked) { TBsource.Text = "128"; }
if (RS_129.Checked) { TBsource.Text = "129"; }
if (RS_130.Checked) { TBsource.Text = "130"; }
if (RS_131.Checked) { TBsource.Text = "131"; }
if (RS_132.Checked) { TBsource.Text = "132"; }
if (RS_133.Checked) { TBsource.Text = "133"; }
if (RS_134.Checked) { TBsource.Text = "134"; }
if (RS_135.Checked) { TBsource.Text = "135"; }
if (RS_136.Checked) { TBsource.Text = "136"; }
if (RT_124.Checked) { Tbtarget.Text = "124"; }
if (RT_125.Checked) { Tbtarget.Text = "125"; }
if (RT_126.Checked) { Tbtarget.Text = "126"; }
if (RT_127.Checked) { Tbtarget.Text = "127"; }
if (RT_128.Checked) { Tbtarget.Text = "128"; }
if (RT_129.Checked) { Tbtarget.Text = "129"; }
if (RT_130.Checked) { Tbtarget.Text = "130"; }
if (RT_131.Checked) { Tbtarget.Text = "131"; }
if (RT_132.Checked) { Tbtarget.Text = "132"; }
if (RT_133.Checked) { Tbtarget.Text = "133"; }
if (RT_134.Checked) { Tbtarget.Text = "134"; }
if (RT_135.Checked) { Tbtarget.Text = "135"; }
if (RT_136.Checked) { Tbtarget.Text = "136"; }
//string text = File.ReadAllText(@"c:\File1.txt");
string text = File.ReadAllText(@"main.txt");
text = text.Replace("sourcefubu", TBsource.Text);
text = text.Replace("sourcedotfubu", TBsource.Text);
text = text.Replace("targetfubu", Tbtarget.Text);
text = text.Replace("targetdotfubu", Tbtarget.Text);
File.WriteAllText(@"relocalize.bat", text);
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.FileName = "relocalize.bat";
//proc.StartInfo.RedirectStandardError = false;
//proc.StartInfo.RedirectStandardOutput = false;
//proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();
try
{
System.IO.File.Delete(@"relocalize.bat");
}
catch
{
}
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
}
private void button1_Click_1(object sender, EventArgs e)
{
}
private void panel2_Paint(object sender, PaintEventArgs e)
{
}
}
Now that the program works 100% here, it is executing a .bat file...
How do I make a progress bar now? to calculate the .bat's process completion ???
This is the bat file if it heps, thanks so much again !
I am trying to make the program above, give us a Progress Bar of the .bat file below: "IS IT POSSIBLE???"
@echo off
set VERSION=0.15
set CONTINUE=n
echo GSC SC2 Relocalizer - Version: %VERSION% OS: %OS% DATE: %date% %time% >> log.txt
cd | bin\sed -e "s/^/CWD: /g" >> log.txt
GOTO :CONTINUE
:CONTINUE
type ..\..\Logs\*.html 2>&1 | bin\grep "SC2Data" | bin\grep "Mods\\Core" | bin\grep -iv "base" | bin\grep -on "[a-z][a-z][A-Z][A-Z]" | bin\sed -e "s/1:/set BASELOCALE=/g" > baselocale.bat
call baselocale.bat
echo BASELOCALE=%BASELOCALE% >> log.txt 2>&1
del baselocale.bat >> log.txt 2>&1
:MODEMENU
SET MODE=NONE
GOTO :SHORTSOURCEMENU
:SWITCHBEGIN
echo ** INSTALLED LOCALES ** >> log.txt 2>&1
dir /b ..\..\Mods\Core.SC2Mod\*.SC2Data | bin\grep -v "Base" | bin\grep -n "SC2Data" | bin\sed -e "s/\.SC2Data//g" >> log.txt 2>&1
echo [DETECTED LOCALES]
dir /b ..\..\Mods\Core.SC2Mod\*.SC2Data | bin\grep -v "Base" | bin\sed -e "s/\.SC2Data//g" | bin\sed -b -e "N;s/\r\n/, /g" | bin\sed -b -e "N;s/\r\n/, /g" | bin\sed -b -e "N;s/\r\n/, /g" | bin\sed -b -e "N;s/\r\n/, /g" | bin\sed -b -e "N;s/\r\n/, /g"
GOTO :SHORTSOURCEMENU
ECHO ****************************************************************************************
ECHO ****************************************************************************************
ECHO ****************************************************************************************
ECHO ****************************************************************************************
ECHO ****************************************************************************************
:SHORTSOURCEMENU
REM -- MENU --
set SOURCE=sourcefubu
set SOURCEDOT=sourcedotfubu
:SOURCESELECT
IF "%SOURCEDOT%" == "124" SET SOURCE=enUS
IF "%SOURCEDOT%" == "125" SET SOURCE=esMX
IF "%SOURCEDOT%" == "126" SET SOURCE=ptBR
IF "%SOURCEDOT%" == "127" SET SOURCE=enGB
IF "%SOURCEDOT%" == "128" SET SOURCE=frFR
IF "%SOURCEDOT%" == "129" SET SOURCE=deDE
IF "%SOURCEDOT%" == "130" SET SOURCE=esES
IF "%SOURCEDOT%" == "131" SET SOURCE=plPL
IF "%SOURCEDOT%" == "132" SET SOURCE=ruRU
IF "%SOURCEDOT%" == "133" SET SOURCE=itIT
IF "%SOURCEDOT%" == "134" SET SOURCE=koKR
IF "%SOURCEDOT%" == "135" SET SOURCE=zhTW
IF "%SOURCEDOT%" == "136" SET SOURCE=zhCN
IF "%SOURCEDOT%" == "999" SET SOURCE=enSG
IF "%SOURCEDOT%" == "000" GOTO :LONGSOURCEMENU
IF "%SOURCE%" == "000" ECHO Invalid Choice.
IF "%SOURCE%" == "000" PAUSE
IF "%SOURCE%" == "000" GOTO :SHORTSOURCEMENU
IF "%MODE%" == "SWITCH" GOTO :SWITCHFINISH
IF "%MODE%" == "CLEAN" GOTO :CLEANFINISH
GOTO :SHORTTARGETMENU
:LONGSOURCEMENU
set SOURCE=000
set SOURCEDOT=000
echo -----------------------------------------
echo : CHOOSE YOUR SOURCE LANGUAGE :
echo : Your Source Language is the installed :
echo : language for this copy of Starcraft 2 :
echo : This is the language you wish to use :
echo : while playing Starcraft 2. :
IF "%MODE%" == "RELOCALIZE" echo : NOTE: If you have relocalized this :
IF "%MODE%" == "RELOCALIZE" echo : install before, choose the ORIGINAL :
IF "%MODE%" == "RELOCALIZE" echo : language, not the previous Target. :
echo -----------------------------------------
PAUSE
echo -----------------------------------------
echo : ********** NORTH AMERICA ************ :
echo : 124 enUS - English (United States) :
echo : ********** LATIN AMERICA ************ :
echo : 125 esMX - Spanish (Mexico) :
echo : 126 ptBR - Portuguese (Brazil) :
echo : ********** EUROPEAN UNION *********** :
echo : 127 enGB - English (United Kingdom) :
echo : 128 frFR - French (France) :
echo : 129 deDE - German (Germany) :
echo : 130 esES - Spanish (Spain) :
echo : 131 plPL - Polish (Poland) :
echo : 132 ruRU - Russian (Russia) :
echo : 133 itIT - Italian (Italy) :
echo : ************* KOREA ***************** :
echo : 134 koKR - Korean (Korea) :
echo : ************* TAIWAN **************** :
echo : 135 zhTW - Traditional Chinese Taiwan :
echo : ************* CHINA ***************** :
echo : 136 zhCN - Simplified Chinese (China) :
echo : ********* SOUTH EAST ASIA *********** :
echo : 999 enSG - English (Singapore) :
echo -----------------------------------------
set /P SOURCEDOT=Type a choice and press Enter:
ECHO ****************************************************************************************
ECHO ****************************************************************************************
ECHO ****************************************************************************************
ECHO ****************************************************************************************
ECHO ****************************************************************************************
GOTO :SOURCESELECT
:SHORTTARGETMENU
REM -- TARGETMENU --
set TARGET=targetfubu
set TARGETDOT=targetdotfubu
:TARGETSELECT
IF "%TARGETDOT%" == "124" SET TARGET=enUS
IF "%TARGETDOT%" == "125" SET TARGET=esMX
IF "%TARGETDOT%" == "126" SET TARGET=ptBR
IF "%TARGETDOT%" == "127" SET TARGET=enGB
IF "%TARGETDOT%" == "128" SET TARGET=frFR
IF "%TARGETDOT%" == "129" SET TARGET=deDE
IF "%TARGETDOT%" == "130" SET TARGET=esES
IF "%TARGETDOT%" == "131" SET TARGET=plPL
IF "%TARGETDOT%" == "132" SET TARGET=ruRU
IF "%TARGETDOT%" == "133" SET TARGET=itIT
IF "%TARGETDOT%" == "134" SET TARGET=koKR
IF "%TARGETDOT%" == "135" SET TARGET=zhTW
IF "%TARGETDOT%" == "136" SET TARGET=zhCN
IF "%TARGETDOT%" == "999" SET TARGET=enSG
IF "%TARGETDOT%" == "000" GOTO :LONGTARGETMENU
IF "%TARGET%" == "000" ECHO Invalid Choice.
IF "%TARGET%" == "000" PAUSE
IF "%TARGET%" == "000" GOTO :SHORTTARGETMENU
GOTO :SOURCETARGETFINISH
:LONGTARGETMENU
set TARGET=000
set TARGETDOT=000
echo -----------------------------------------
echo : CHOOSE YOUR TARGET LANGUAGE :
echo : Your Target Language is a language in :
echo : the region in which you wish to play :
echo : Starcraft 2. You must have a valid :
echo : Starcraft 2 license for this region. :
echo : NOTE: The relocalization is not 100%%. :
echo : Any unrelocalized text will display :
echo : in your Target Language. :
echo -----------------------------------------
pause
echo -----------------------------------------
echo : ********** NORTH AMERICA ************ :
echo : 124 enUS - English (United States) :
echo : ********** LATIN AMERICA ************ :
echo : 125 esMX - Spanish (Mexico) :
echo : 126 ptBR - Portuguese (Brazil) :
echo : ********** EUROPEAN UNION *********** :
echo : 127 enGB - English (United Kingdom) :
echo : 128 frFR - French (France) :
echo : 129 deDE - German (Germany) :
echo : 130 esES - Spanish (Spain) :
echo : 131 plPL - Polish (Poland) :
echo : 132 ruRU - Russian (Russia) :
echo : 133 itIT - Italian (Italy) :
echo : ************* KOREA ***************** :
echo : 134 koKR - Korean (Korea) :
echo : ************* TAIWAN **************** :
echo : 135 zhTW - Traditional Chinese Taiwan :
echo : ************* CHINA ***************** :
echo : 136 zhCN - Simplified Chinese (China) :
echo : ********* SOUTH EAST ASIA *********** :
echo : 999 enSG - English (Singapore) :
echo -----------------------------------------
set /P TARGETDOT=Type a choice and press Enter:
GOTO :TARGETSELECT
:SOURCETARGETFINISH
set CONFIRM=n
echo -------------------------------
echo : CONFIRM YOUR SELECTION :
echo -------------------------------
echo : ** SOURCE ** : ** TARGET ** :
echo : %SOURCE% : %TARGET% :
echo -------------------------------
set /P CONFIRM=Is this correct (y/n)?
IF "%CONFIRM%" == "y" GOTO :COMMON
IF "%CONFIRM%" == "Y" GOTO :COMMON
GOTO :END
:SWITCHFINISH
echo SWITCHFINISH >> log.txt
set CONFIRM=n
set TARGET=%SOURCE%
set TARGETDOT=%SOURCEDOT%
echo -------------------------------
echo : CONFIRM YOUR SELECTION :
echo -------------------------------
echo : SWITCH LOCALE TO : %SOURCE% :
echo -------------------------------
set /P CONFIRM=Is this correct (y/n)%?
IF "%CONFIRM%" == "y" GOTO :COMMON
IF "%CONFIRM%" == "Y" GOTO :COMMON
GOTO :END
:CLEANFINISH
echo CLEANFINISH >> log.txt
set CONFIRM=n
set TARGET=%SOURCE%
set TARGETDOT=%SOURCEDOT%
echo -------------------------------
echo : CONFIRM YOUR SELECTION :
echo -------------------------------
echo : RESET LOCALE TO : %SOURCE% :
echo -------------------------------
set /P CONFIRM=Is this correct (y/n)%?
IF "%CONFIRM%" == "y" GOTO :COMMON
IF "%CONFIRM%" == "Y" GOTO :COMMON
GOTO :END
:COMMON
set LANG=%TARGET%
set LANGDOT=%TARGETDOT%
echo Using: SOURCE=%SOURCE% SOURCEDOT=%SOURCEDOT% TARGET=%TARGET% TARGETDOT=%TARGETDOT% MODE: %MODE%
echo Using: SOURCE=%SOURCE% SOURCEDOT=%SOURCEDOT% TARGET=%TARGET% TARGETDOT=%TARGETDOT% MODE: %MODE%>> log.txt
IF "%MODE%" == "CLEAN" GOTO :CLEANINSTALL
echo ## Mods\ >> log.txt
echo #### Core.SC2Mod\ >> log.txt
@echo Patching Mods\Core.SC2Mod...
echo ###### Base.SC2Data (MPQ) >> log.txt 2>&1
@echo n | copy /-y ..\..\Mods\Core.SC2Mod\Base.MPQ ..\..\Mods\Core.SC2Mod\Base.MPQ.original >> log.txt 2>&1
@copy scripts\Mods-Core.SC2Mods-Base.SC2Data.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1 >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Core.SC2Mods-Base.SC2Data.mopaq >> log.txt 2>&1
@del Mods-Core.SC2Mods-Base.SC2Data.mopaq >> log.txt 2>&1
REM -- CHECK FOR RESET CONDITION
IF "%SOURCEDOT%" == "%TARGETDOT%" GOTO :CLEANUPRESET
IF "%MODE%" == "SWITCH" GOTO :CLEANUPRESET
REM -- CHECK FOR enUS<--%>%enSG CONDITION
IF "%SOURCEDOT%" == "124" IF "%TARGETDOT%" == "999" GOTO :CLEANUPUSSG
IF "%SOURCEDOT%" == "999" IF "%TARGETDOT%" == "124" GOTO :CLEANUPUSSG
REM -- CHECK FOR non-enUS<--%>%enSG CONDITION
IF "%SOURCEDOT%" == "999" ECHO ** enSG --%>% enUS ** >> log.txt
IF "%SOURCEDOT%" == "999" SET SOURCE=enUS
IF "%SOURCEDOT%" == "999" SET SOURCEDOT=124
IF "%TARGETDOT%" == "999" ECHO ** enUS --%>% enSG ** >> log.txt
IF "%TARGETDOT%" == "999" SET LANG=enUS
IF "%TARGETDOT%" == "999" SET LANGDOT=124
REM -- koKR has one less file... WHY? I dunno, but Skip the next one. --
IF "%SOURCEDOT%" == "134" GOTO :KOKRASSETSKIP
IF "%TARGETDOT%" == "134" GOTO :KOKRASSETSKIP
echo ###### %SOURCE%.SC2Assets -%>% %LANG%.SC2Assets (MPQ) >> log.txt 2>&1
@copy ..\..\Mods\Core.SC2Mod\%SOURCE%.SC2Assets /B ..\..\Mods\Core.SC2Mod\%LANG%.SC2Assets >> log.txt 2>&1
@copy scripts\Mods-Core.SC2Mods-enUS.SC2Assets.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Core.SC2Mods-enUS.SC2Assets.mopaq >> log.txt 2>&1
@del Mods-Core.SC2Mods-enUS.SC2Assets.mopaq >> log.txt 2>&1
:KOKRASSETSKIP
echo ###### %SOURCE%.SC2Data -%>% %LANG%.SC2Data (MPQ) >> log.txt 2>&1
@copy ..\..\Mods\Core.SC2Mod\%SOURCE%.SC2Data /B ..\..\Mods\Core.SC2Mod\%LANG%.SC2Data >> log.txt 2>&1
@copy scripts\Mods-Core.SC2Mods-enUS.SC2Data-1.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Core.SC2Mods-enUS.SC2Data-1.mopaq >> log.txt 2>&1
@del Mods-Core.SC2Mods-enUS.SC2Data-1.mopaq >> log.txt 2>&1
bin\sed -i "s/%SOURCE%/%LANG%/g" BlizzardComponent.xml >> log.txt 2>&1
@copy scripts\Mods-Core.SC2Mods-enUS.SC2Data-2.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Core.SC2Mods-enUS.SC2Data-2.mopaq >> log.txt 2>&1
@del Mods-Core.SC2Mods-enUS.SC2Data-2.mopaq >> log.txt 2>&1
@del BlizzardComponent.xml >> log.txt 2>&1
echo #### Liberty.SC2Mod\ >> log.txt 2>&1
@echo Patching Mods\Liberty.SC2Mod...
echo ###### %SOURCE%.SC2Assets -%>% %LANG%.SC2Assets (MPQ) >> log.txt 2>&1
@copy ..\..\Mods\Liberty.SC2Mod\%SOURCE%.SC2Assets /B ..\..\Mods\Liberty.SC2Mod\%LANG%.SC2Assets >> log.txt 2>&1
@copy scripts\Mods-Liberty.SC2Mods-enUS.SC2Assets.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Liberty.SC2Mods-enUS.SC2Assets.mopaq >> log.txt 2>&1
@del Mods-Liberty.SC2Mods-enUS.SC2Assets.mopaq >> log.txt 2>&1
echo ###### %SOURCE%.SC2Data -%>% %LANG%.SC2Data (MPQ) >> log.txt 2>&1
@copy ..\..\Mods\Liberty.SC2Mod\%SOURCE%.SC2Data /B ..\..\Mods\Liberty.SC2Mod\%LANG%.SC2Data >> log.txt 2>&1
@copy scripts\Mods-Liberty.SC2Mods-enUS.SC2Data-1.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Liberty.SC2Mods-enUS.SC2Data-1.mopaq >> log.txt 2>&1
@del Mods-Liberty.SC2Mods-enUS.SC2Data-1.mopaq >> log.txt 2>&1
bin\sed -i "s/%SOURCE%/%LANG%/g" BlizzardComponent.xml >> log.txt 2>&1
@copy scripts\Mods-Liberty.SC2Mods-enUS.SC2Data-2.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Liberty.SC2Mods-enUS.SC2Data-2.mopaq >> log.txt 2>&1
@del Mods-Liberty.SC2Mods-enUS.SC2Data-2.mopaq >> log.txt 2>&1
@del BlizzardComponent.xml >> log.txt 2>&1
echo #### LibertyMulti.SC2Mod\ >> log.txt 2>&1
@echo Patching Mods\LibertyMulti.SC2Mod...
echo ###### %SOURCE%.SC2Data -%>% %LANG%.SC2Data (MPQ) >> log.txt 2>&1
@copy ..\..\Mods\LibertyMulti.SC2Mod\%SOURCE%.SC2Data /B ..\..\Mods\LibertyMulti.SC2Mod\%LANG%.SC2Data >> log.txt 2>&1
@copy scripts\Mods-LibertyMulti.SC2Mods-enUS.SC2Data-1.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-LibertyMulti.SC2Mods-enUS.SC2Data-1.mopaq >> log.txt 2>&1
@del Mods-LibertyMulti.SC2Mods-enUS.SC2Data-1.mopaq >> log.txt 2>&1
bin\sed -i "s/%SOURCE%/%LANG%/g" BlizzardComponent.xml >> log.txt 2>&1
@copy scripts\Mods-LibertyMulti.SC2Mods-enUS.SC2Data-2.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-LibertyMulti.SC2Mods-enUS.SC2Data-2.mopaq >> log.txt 2>&1
@del Mods-LibertyMulti.SC2Mods-enUS.SC2Data-2.mopaq >> log.txt 2>&1
@del BlizzardComponent.xml >> log.txt 2>&1
echo #### Challenges.SC2Mod >> log.txt 2>&1
@echo Patching Mods\Challenges.SC2Mod...
@copy scripts\Mods-Challenges.SC2Mod.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Mods-Challenges.SC2Mod.mopaq >> log.txt 2>&1
@del Mods-Challenges.SC2Mod.mopaq >> log.txt 2>&1
@rmdir /S /Q %SOURCE%.SC2Data >> log.txt 2>&1
echo ## Campaigns\ >> log.txt 2>&1
echo #### Liberty.SC2Campaign\ >> log.txt 2>&1
@echo Patching Campaigns\Liberty.SC2Campaign...
echo ###### %SOURCE%.SC2Assets -%>% %LANG%.SC2Assets (MPQ) >> log.txt 2>&1
@copy ..\..\Campaigns\Liberty.SC2Campaign\%SOURCE%.SC2Assets /B ..\..\Campaigns\Liberty.SC2Campaign\%LANG%.SC2Assets >> log.txt 2>&1
echo ###### %SOURCE%.SC2Data -%>% %LANG%.SC2Data (MPQ) >> log.txt 2>&1
@copy ..\..\Campaigns\Liberty.SC2Campaign\%SOURCE%.SC2Data /B ..\..\Campaigns\Liberty.SC2Campaign\%LANG%.SC2Data >> log.txt 2>&1
echo #### LibertyStory.SC2Campaign\ >> log.txt 2>&1
@echo Patching Campaigns\LibertyStory.SC2Campaign...
echo ###### %SOURCE%.SC2Data -%>% %LANG%.SC2Data (MPQ) >> log.txt 2>&1
@copy ..\..\Campaigns\LibertyStory.SC2Campaign\%SOURCE%.SC2Data /B ..\..\Campaigns\LibertyStory.SC2Campaign\%LANG%.SC2Data >> log.txt 2>&1
@copy scripts\Campaigns.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Campaigns.mopaq >> log.txt 2>&1
@del Campaigns.mopaq >> log.txt 2>&1
echo ## Battle.net\ >> log.txt 2>&1
echo #### Battle.net.MPQ (MPQ) >> log.txt 2>&1
@echo Patching Battle.net\...
@copy scripts\Battle.net.MPQ-1.mopaq . >> log.txt 2>&1
@echo n | copy /-y ..\..\Battle.net\Battle.net.MPQ ..\..\Battle.net\Battle.net.MPQ.original >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Battle.net.MPQ-1.mopaq >> log.txt 2>&1
@del Battle.net.MPQ-1.mopaq >> log.txt 2>&1
@move Battle.net\i18n\%SOURCE% Battle.net\i18n\%LANG% >> log.txt 2>&1
bin\sed.exe -i "s/%SOURCE%/%LANG%/g" Battle.net\i18n\%LANG%\String\*.xml >> log.txt 2>&1
@copy scripts\Battle.net.MPQ-2.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Battle.net.MPQ-2.mopaq >> log.txt 2>&1
@del Battle.net.MPQ-2.mopaq >> log.txt 2>&1
@rmdir /S /Q Battle.net >> log.txt 2>&1
echo #### Battle.net-patch.MPQ (MPQ) >> log.txt 2>&1
@echo n | copy /-y ..\..\Battle.net\Battle.net-patch.MPQ ..\..\Battle.net\Battle.net-patch.MPQ.original >> log.txt 2>&1
@copy scripts\Battle.net-patch.MPQ-1.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Battle.net-patch.MPQ-1.mopaq >> log.txt 2>&1
@del Battle.net-patch.MPQ-1.mopaq >> log.txt 2>&1
@move Battle.net\i18n\%SOURCE% Battle.net\i18n\%LANG% >> log.txt 2>&1
bin\sed.exe -i "s/%SOURCE%/%LANG%/g" Battle.net\i18n\%LANG%\String\*.xml >> log.txt 2>&1
@copy scripts\Battle.net-patch.MPQ-2.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Battle.net-patch.MPQ-2.mopaq >> log.txt 2>&1
@del Battle.net-patch.MPQ-2.mopaq >> log.txt 2>&1
@rmdir /S /Q Battle.net >> log.txt 2>&1
:VERSION
echo ## Versions\ >> log.txt 2>&1
SET VERSIONS=15405 16561 16605 16755 16939 17326 18092 18317 18574 18701 19132 19269 19679
IF "%SOURCEDOT%" == "136" GOTO :CHINAVERSIONS
IF "%TARGETDOT%" == "136" GOTO :CHINAVERSIONS
GOTO :VERSIONCONT
:CHINAVERSIONS
SET VERSIONS=18092 18317 18574
:VERSIONCONT
FOR %%V IN (%VERSIONS%) DO (
echo #### Base%%V\ >> log.txt 2>&1
@echo Patching Versions\Base%%V\...
echo ###### patch.SC2Archive [MPQ] >> log.txt 2>&1
@copy scripts\Versions-Base-patch.SC2Archive.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$BASE\$\$/%%V/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Versions-Base-patch.SC2Archive.mopaq >> log.txt 2>&1
del Versions-Base-patch.SC2Archive.mopaq >> log.txt 2>&1
@rmdir /S /Q Mods >> log.txt 2>&1
echo ###### patch-%SOURCE%.SC2Archive -%>% patch-%LANG%.SC2Archive [MPQ] >> log.txt 2>&1
@copy scripts\Versions-Base-patch-enUS.SC2Archive-1.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$BASE\$\$/%%V/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Versions-Base-patch-enUS.SC2Archive-1.mopaq >> log.txt 2>&1
del Versions-Base-patch-enUS.SC2Archive-1.mopaq >> log.txt 2>&1
@move Campaigns\Liberty.SC2Campaign\%SOURCE%.SC2Assets Campaigns\Liberty.SC2Campaign\%LANG%.SC2Assets >> log.txt 2>&1
@move Campaigns\Liberty.SC2Campaign\%SOURCE%.SC2Data Campaigns\Liberty.SC2Campaign\%LANG%.SC2Data >> log.txt 2>&1
@move Campaigns\LibertyStory.SC2Campaign\%SOURCE%.SC2Data Campaigns\LibertyStory.SC2Campaign\%LANG%.SC2Data >> log.txt 2>&1
@move Mods\Core.SC2Mod\%SOURCE%.SC2Data Mods\Core.SC2Mod\%LANG%.SC2Data >> log.txt 2>&1
bin\sed -i "s/%SOURCE%/%LANG%/g" Mods\Core.SC2Mod\%LANG%.SC2Data\BlizzardComponent.xml >> log.txt 2>&1
@move Mods\Liberty.SC2Mod\%SOURCE%.SC2Assets Mods\Liberty.SC2Mod\%LANG%.SC2Assets >> log.txt 2>&1
@move Mods\Liberty.SC2Mod\%SOURCE%.SC2Data Mods\Liberty.SC2Mod\%LANG%.SC2Data >> log.txt 2>&1
bin\sed -i "s/%SOURCE%/%LANG%/g" Mods\Liberty.SC2Mod\%LANG%.SC2Data\BlizzardComponent.xml >> log.txt 2>&1
@move Mods\LibertyMulti.SC2Mod\%SOURCE%.SC2Data Mods\LibertyMulti.SC2Mod\%LANG%.SC2Data >> log.txt 2>&1
bin\sed -i "s/%SOURCE%/%LANG%/g" Mods\LibertyMulti.SC2Mod\%LANG%.SC2Data\BlizzardComponent.xml >> log.txt 2>&1
@copy scripts\Versions-Base-patch-enUS.SC2Archive-2.mopaq . >> log.txt 2>&1
bin\sed -i "s/\$\$BASE\$\$/%%V/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCE\$\$/%SOURCE%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$SOURCEDOT\$\$/%SOURCEDOT%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGET\$\$/%LANG%/g" *.mopaq >> log.txt 2>&1
bin\sed -i "s/\$\$TARGETDOT\$\$/%LANGDOT%/g" *.mopaq >> log.txt 2>&1
bin\MPQEditor.exe /console Versions-Base-patch-enUS.SC2Archive-2.mopaq >> log.txt 2>&1
del Versions-Base-patch-enUS.SC2Archive-2.mopaq >> log.txt 2>&1
@rmdir /S /Q Mods
@rmdir /S /Q Campaigns
)
:CLEANUPRESET
echo ** RESET ** >> log.txt 2>&1
goto :CLEANUP
:CLEANUPUSSG
echo ** enUS%<--%>%enSG ** >> log.txt 2>&1
goto :CLEANUP
:CLEANINSTALL
echo ** CLEANING INSTALL ** >> log.txt 2>&1
@copy /y ..\..\Battle.net\Battle.net.MPQ.original ..\..\Battle.net\Battle.net.MPQ >> log.txt 2>&1
@copy /y ..\..\Battle.net\Battle.net-patch.MPQ.original ..\..\Battle.net\Battle.net-patch.MPQ >> log.txt 2>&1
@copy /y ..\..\Mods\Core.SC2Mod\Base.MPQ.original ..\..\Mods\Core.SC2Mod\Base.MPQ >> log.txt 2>&1
:CLEANUP
echo ## CLEANUP ##
echo ** CLEANUP ** >> log.txt 2>&1
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" >> log.txt 2>&1
reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v "Personal" | bin\sed.exe -e "s/[^P]*Personal[^R]*REG_SZ[^A-Za-z]*/set MYDOCS=/g" | bin\grep.exe "MYDOCS" > MYDOCS.bat 2>>log.txt
call MYDOCS.bat >> log.txt 2>&1
del MYDOCS.bat >> log.txt 2>&1
echo MYDOCS=%MYDOCS% >> log.txt 2>&1
@copy "%MYDOCS%\Starcraft II\Variables.txt" . >> log.txt 2>&1
bin\sed -i "s/^localeiddata=.*$/localeiddata=%LANG%/g" Variables.txt >> log.txt 2>&1
bin\sed -i "s/^localeidassets=.*$/localeidassets=%LANG%/g" Variables.txt >> log.txt 2>&1
copy Variables.txt "%MYDOCS%\Starcraft II\Variables.txt" >> log.txt 2>&1
del Variables.txt >> log.txt 2>&1
del sed* >> log.txt 2>&1
:END
echo Done.
pause
naura paxPosted Sep 28, 2011, 12:01 AM
I suppose this is more of programming exercise that you are doing. Assuming that 'rafas','rafasd' and line numbers are going to remain fixed each time you run c# app that you want to create, i have devised following code:
// Read from program.txt
string[] lines=System.IO.File.ReadAllLines(@"e:\program.txt");
for (int i = 0; i < lines.Length; i++)
{
if (i == 2 && lines[i] == "RAFAS")
lines[i]="set SOURCE=124";
else if(i==3 && lines[i]=="RAFASD")
lines[i]="set SOURCEDOT=124";
}
System.IO.File.AppendAllLines(@"e:\program.bat", lines);
I think above code would just achive your requirement, but if you want a generic solution then please don't hesitate to reply.