Permalänk
Avstängd

Hjälp med ett BATCH skript.

Hej, Jag håller på o göra ett slags statistik batch script där jag skriver in diverse info men...
När batch scriptet ska skriva till .txt dokumentet så kommer den nya texten på botten.
så vill jag inte ha, jag vill ha det så att när man skriver ett nytt "statistik" informations krusidull så ska den hamna bredvid.

Går det att göra?
eller måste jag vända mig till något annat språk då?

såhär ser det ut nu när den printar ut infon i .txtn

------------ #16:51# #2012-04-20# ------------ Jail: t ------------ HH9: t ------------ Bhop: t ------------ Surf: t ------------ MG: t ------------ Scout: t ------------ DG: t ------------ Rats: t ------------ Aim: t ------------ HnS: t ------------ MC: t ------------ ______________________________1a print ovanför 2a print nedanför__ ------------ #16:51# #2012-04-20# ------------ Jail: t ------------ HH9: t ------------ Bhop: t ------------ Surf: t ------------ MG: t ------------ Scout: t ------------ DG: t ------------ Rats: t ------------ Aim: t ------------ HnS: t ------------ MC: t ------------

Dold text

Men jag vill att den ska printa ut såhär.

------------ ------------ #16:51# #16:51# #2012-04-20# #2012-04-20# ------------ ------------ Jail: t Jail: t ------------ ------------ HH9: t HH9: t ------------ ------------ Bhop: t Bhop: t ------------ ------------ Surf: t Surf: t ------------ ------------ MG: t MG: t ------------ ------------ Scout: t Scout: t ------------ ------------ DG: t DG: t ------------ ------------ Rats: t Rats: t ------------ ------------ Aim: t Aim: t ------------ ------------ HnS: t HnS: t ------------ ------------ MC: t MC: t ------------ ------------

Dold text

Batch script

@echo off title Statistik :load goto :loader :start goto :answer :answer CLS SET /P ANSWER=Jail: if /i {%ANSWER%}=={} (goto :ANSWER2) if /i {%ANSWER%}=={show} (goto :show) :answer2 SET /P ANSWER2=Hoejhus: if /i {%ANSWER2%}=={} (goto :ANSWER3) if /i {%ANSWER2%}=={show} (goto :show) :answer3 SET /P ANSWER3=Bhop: if /i {%ANSWER3%}=={} (goto :ANSWER4) if /i {%ANSWER3%}=={show} (goto :show) :answer4 SET /P ANSWER4=Surf: if /i {%ANSWER4%}=={} (goto :ANSWER5) if /i {%ANSWER4%}=={show} (goto :show) :answer5 SET /P ANSWER5=Minigame: if /i {%ANSWER5%}=={} (goto :ANSWER6) if /i {%ANSWER5%}=={show} (goto :show) :answer6 SET /P ANSWER6=ScoutKnivez: if /i {%ANSWER6%}=={} (goto :ANSWER7) if /i {%ANSWER6%}=={show} (goto :show) :answer7 SET /P ANSWER7=Deagle: if /i {%ANSWER7%}=={} (goto :ANSWER8) if /i {%ANSWER7%}=={show} (goto :show) :answer8 SET /P ANSWER8=Rats: if /i {%ANSWER8%}=={} (goto :ANSWER9) if /i {%ANSWER8%}=={show} (goto :show) :answer9 SET /P ANSWER9=Aim: if /i {%ANSWER9%}=={} (goto :ANSWER10) if /i {%ANSWER9%}=={show} (goto :show) :answer10 SET /P ANSWER10=Hide and Seek: if /i {%ANSWER10%}=={} (goto :ANSWER11) if /i {%ANSWER10%}=={show} (goto :show) :answer10 SET /P ANSWER11=Minecraft: if /i {%ANSWER11%}=={} (goto :klar) if /i {%ANSWER11%}=={show} (goto :show) :klar echo. >> %Today%.txt echo. >> %Today%.txt echo. >> %Today%.txt echo ------------ >> %Today%.txt echo #%Now%# >> %Today%.txt echo #%Today%# >> %Today%.txt echo ------------ >> %Today%.txt echo Jail: %ANSWER% >> %Today%.txt echo ------------ >> %Today%.txt echo HH9: %ANSWER2% >> %Today%.txt echo ------------ >> %Today%.txt echo Bhop: %ANSWER3% >> %Today%.txt echo ------------ >> %Today%.txt echo Surf: %ANSWER4% >> %Today%.txt echo ------------ >> %Today%.txt echo MG: %ANSWER5% >> %Today%.txt echo ------------ >> %Today%.txt echo Scout: %ANSWER6% >> %Today%.txt echo ------------ >> %Today%.txt echo DG: %ANSWER7% >> %Today%.txt echo ------------ >> %Today%.txt echo Rats: %ANSWER8% >> %Today%.txt echo ------------ >> %Today%.txt echo Aim: %ANSWER9% >> %Today%.txt echo ------------ >> %Today%.txt echo HnS: %ANSWER10% >> %Today%.txt echo ------------ >> %Today%.txt echo MC: %ANSWER11% >> %Today%.txt echo ------------ >> %Today%.txt goto :exit :show CLS type %Today%.txt pause goto :ANSWER :loader FOR /F "tokens=*" %%A IN ('DATE/T') DO FOR %%B IN (%%~A) DO SET Today=%%B FOR /F "tokens=*" %%A IN ('TIME/T') DO SET Now=%%A goto :start :exit TIMEOUT 2 exit

Dold text
Visa signatur

//pHANTAZOM

Permalänk
Hedersmedlem

Ser nog mörkt ut. Ö.h.t. tycker jag batchskript är jobbiga eftersom det är så begränsat.
Powershell med powershell script finns ju inbyggt i moderna Windows. Kanske kan vara något att använda om du inte vill installera något extraprogram. Har tillgång till .Net ramverket så man kan göra mycket.
Du lär väl behöva läsa in filen varje gång och dela upp den i 1 sträng per rad, sen skarva senaste infon sist så när det sammanfogs (skrivs till fil) blir en ny kolumn.

Visa signatur

Forumregler | Feedbackforumet | Något som behöver modereras? Tryck på Anmäl inlägget och ge en anledning, någon moderator kommer granska inlägget och göra (egen) bedömning
"Fate. Protects fools, little children and ships named Enterprise." - Riker - ST:TNG

Permalänk
Medlem

Du kan testa med KiXtart, ett kraftfullare verktyg som är gratis. KiXtart kan också, till skillnad från ett batch-skript, läsa och skriva i registret. Annars är det nog Powershell som är lämpligast.

Visa signatur

Ne nos sequere nobis secede

Permalänk
Medlem
Skrivet av Wolfclaw:

KiXtart kan också, till skillnad från ett batch-skript, läsa och skriva i registret. Annars är det nog Powershell som är lämpligast.

Konstigt, jag använder ofta REG ADD, REG QUERY o.s.v. i batch-script för att hantera registret...

Jag håller med om att Powershell nog kan lösa det här problemet enklare.

Men problemet borde gå att att lösa med lite For, Set och ev. Findstr som jag ser det, tills raderna blir för långa...

Visa signatur

mb = millibit!