g4rfi3ld
Goto Top

txt inhalt kopieren und hinzufügen

Hey einen wunderschönen guten abend erstmal.....

Ich habe folgenedes Problem:
Ich bzw wir haben in einem Ordner (logischerweise ordner) eine Datei die schimpft sich Autoexec.cfg die von jedem anders ist bei einem steht garnix drin der andere hat 5 bis 12 zeilen drin stehen. Nun versuche ich seit meinem letzten eintrag die txt datei auszulesen zu sicher als original.txt und in die datei etwas anzuhängen. Das zweite ist eine txt datei zu erstellen (kein problem) aber das was drinsteht ... bin anscheinend zu dumm dafür. hab auch hir was gefunden https://www.administrator.de/index.php?content=76419 aber hmm..... ist das ne batch datei???? Das zweite ist https://www.administrator.de/index.php?content=66821 würde mir der link weiterhelfen ?

Mit unterstützung von bastla kam folgendes zu stande

@echo off & setlocal enabledelayedexpansion 
set "Quelle1=demo*.dem"   
set "Quelle2=*.jpg"  

set "jahr=%date:~-4%"   
set "monat=%date:~-7,2%"   
set "tag=%date:~-10,2%"   
set "stunden=%time:~0,2%"   
set "stunden=%stunden: =0%"   
set "minuten=%time:~3,2%"   

set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS"  
set "Ziel2=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS\%Tag%.%monat%.%jahr%   

set "anzahl=5"  
set "zahl=1"  



pushd .. 
if not exist "%Ziel%" md "%Ziel%"   
if exist "%Ziel% " md "%Ziel2%"  

for %%i in ("%Quelle1%") do copy "%%i" "%Ziel2%\%%~ni_%stunden%.%minuten%%%~xi" >nul   
cd screenshots
for /f "delims=" %%i in ('dir %Quelle2% /b /O-N') do (    
if !zahl! leq %anzahl% copy "%%i" "%Ziel2%"    
set /a zahl=!zahl!+1  
)



popd

einiges hab ich schon geändert ist nicht viel aber funktioniert soweit
Ach ja die datein befinden ishc im local ordner.....

Joa ich schmeis mich erstmal wieder ins bett mus um 4:20 uhr raus......

N8 jungs hatt zeit bis Sonnabend & mercy.

Content-Key: 108211

Url: https://administrator.de/contentid/108211

Printed on: April 18, 2024 at 15:04 o'clock

Member: bastla
bastla Feb 05, 2009 at 20:58:33 (UTC)
Goto Top
Hallo G4rfi3ld!

Was Du genau vorhast, ist mir noch nicht klar, aber
die txt datei auszulesen zu sicher als original.txt und in die datei etwas anzuhängen.
ginge grundsätzlich so:
set "Ordner=D:\Dein Ordner"  
set "Datei=Autoexec.cfg"  
set "Bak=original.txt"  

copy "%Ordner%\%Datei%" "%Ordner%\%Bak%"  
>>"%Ordner%\%Datei%" echo Zusatzzeile1  
>>"%Ordner%\%Datei%" echo Zusatzzeile2  
>>"%Ordner%\%Datei%" echo Zusatzzeile3  
>>"%Ordner%\%Datei%" echo Zusatzzeile4  
Zu
Das zweite ist eine txt datei zu erstellen (kein problem) aber das was drinsteht ...
fällt mir aber tatsächlich (noch) gar nix ein ...

Grüße
bastla
Member: G4rfi3ld
G4rfi3ld Feb 07, 2009 at 17:56:52 (UTC)
Goto Top
Zitat von @bastla:
Hallo G4rfi3ld!

Was Du genau vorhast, ist mir noch nicht klar, aber
es sieht so aus:
Meine comunity (Clan name wird nicht genant zwecks agb´s von administrator.de) wir spielen in einer Liga.
Pflicht ist bei jedem spiel eine Visuellespielaufzeichnung des matches mit Bildschirmfoto vom ergebniss zu machen.
Dafür habe ich eine spielangepasste cfg geschrieben. Da eben das nicht jeder kann und ich nicht für jedem die alias.cfg erstellen kann hab ich mir gedacht ..... ------ gedankenstrich ------- ..... das eine batch datei evtl helfen würde. Also mal schnell batch erstellen uploaden und jeder hat das was er braucht ..... ----- gedankenstrich end ------... . Ja das währe schön. So zur batch selbst:
1. Also das einfügen in eine LEERE txt datei funktioniert so weit gut.
2. Das auslesen der Autoexec.cfg dagegen garnet. mein gedanke die datei umbenen in txt mit ren autoexec.cfg autoexec.txt und dan einfügen.... fehlanzeige... plötzlich ist ne 2te autoexec datei vorhanden die leer ist.
3. if not exist "%ordner%" md "%ordner%" dann erstellt er den ordner Sicherung das macht er aber die datein copiert er nicht rein......
4. ich werds noch bis um 20 uhr tüffteln um dann mein hielferuf zu starten. Bis dahin MFG G4r Field
Member: G4rfi3ld
G4rfi3ld Feb 07, 2009 at 19:10:58 (UTC)
Goto Top
So hallo beisammen hier mein code

@echo off & setlocal enabledelayedexpansion 

 
set "Quelle1=demo*.dem"    
set "Quelle2=*.jpg"   
set "Datei1=Autoexec.cfg  

set "Ordner=sicherung"   
set "Datei1=autoexec.cfg"  
Set "Datei2=config.cfg"   
set "Bak1=autoexec_org.cfg"  
set "Bak2=config_org.cfg"  
set "Datei3=alias.cfg"  


set "jahr=%date:~-4%"    
set "monat=%date:~-7,2%"    
set "tag=%date:~-10,2%"    
set "stunden=%time:~0,2%"    
set "stunden=%stunden: =0%"    
set "minuten=%time:~3,2%"    

set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS"   
set "Ziel2=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS\%Tag%.%monat%.%jahr%    

set "anzahl=5"   
set "zahl=1"   

pushd ..

if not exist "%Ordner%" md "%Ordner%"  
popd

copy "%Datei1%" "..\%Ordner%\%Bak1%"  
popd
copy "%Datei2%" "..\%Ordner%\%Bak2%"  


>>echo %Datei3%

>>"%Datei1%"  echo ;exec alias.cfg  
 
>>"%Datei3%" echo // Demo aufzeichnen Stopen zblock geeignet  
>>"%Datei3%" echo alias sd 		"sd1"  
>>"%Datei3%" echo alias sl 		"say_team demoscript noch nicht gestartet"   
>>"%Datei3%" echo alias sd1		"alias sd sdsd01; alias sl slsd1;record demo01.dem; Say_team Demo 01 gestartet!; alias ss s1;"  
>>"%Datei3%" echo alias slsd1 	"stop; alias sl sd1; say_team Demo 1 Storniert!; "  
>>"%Datei3%" echo alias sdsd01	"alias sd sd2;+showscores; jpeg; cancelselect; stop; say_team Spielaufzeichnung 01 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s2;"  			   
>>"%Datei3%" echo alias sd2		"alias sd sdsd02; alias sl slsd2; record demo02.dem; say Runde 2 gestartet! HF & GL wish www.hwo-css.de ;alias ss s3;"   
>>"%Datei3%" echo alias slsd2 	"stop; alias sl sd2; say_team Demo 2 Storniert!; "  
>>"%Datei3%" echo alias sdsd02	"alias sd sd3; +showscores; jpeg; cancelselct; stop; say_team Spielaufzeichnung  die 2te erfolgreich beendet. Ergebnis erneut digital manifestirt!; alias ss s4;s18;"    
>>"%Datei3%" echo alias sd3		"alias sd sdsd03; alias sl slsd3; record demo03.dem; Say_team Demo 03 gestartet!; alias ss s5;"   
>>"%Datei3%" echo alias slsd3 	"stop; alias sl sd3; say_team Demo 3 Storniert!; "  
>>"%Datei3%" echo alias sdsd03	"alias sd sd4; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 03 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s6;"  
>>"%Datei3%" echo alias sd4		"alias sd sdsd04; alias sl slsd4; record demo04.dem; Say_team Demo 04 gestartet!; say HF & GL wish www.hwo-css.de; alias ss s7;"  
>>"%Datei3%" echo alias slsd4	"stop; alias sl sd4; say_team Demo 4 Storniert!; "  
>>"%Datei3%" echo alias sdsd04	"alias sd sd5; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung die 4te beendet. Ergebnis erneut digital manifestirt!; alias ss s8;"   
>>"%Datei3%" echo alias sd5		"alias sd sdsd05; alias sl slsd1; record demo05.dem; Say_team Demo 05 gestartet!; alias ss s9;"  
>>"%Datei3%" echo alias slsd5 	"stop; alias sl sd5; say_team Demo 5 Storniert!; "  
>>"%Datei3%" echo alias sdsd05	"alias sd sd6; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 05 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s10;"  
>>"%Datei3%" echo alias sd6		"alias sd sdsd06; alias sl slsd6; record demo06.dem; Say Demo 06 gestartet! HF & GL wish www.hwo-css.de; alias ss s11;"  
>>"%Datei3%" echo alias slsd6 	"stop; alias sl sd6; say_team Demo 6 Storniert!;"  
>>"%Datei3%" echo alias sdsd06	"alias sd sd7; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 06 erfolgreich beendet. Ergebnis erneut digital manifestirt!; alias ss s12;"   
>>"%Datei3%" echo alias sd7		"alias sd sdsd07; alias sl slsd7; record demo07.dem; Say_team Rcon Status Bild gemacht & Demo 07 gestartet!; say HF & GL wish www.hwo-css.de; alias ss s13;"  
>>"%Datei3%" echo alias slsd7 	"stop; alias sl sd7; say_team Demo 7 Storniert!;"  
>>"%Datei3%" echo alias sdsd07	"alias sd sd8; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 07 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s14;"  
>>"%Datei3%" echo alias sd8		"alias sd sdsd08; alias sl slsd8; record demo08.dem;  say HF & GL wish www.hwo-css.de; alias ss s15;"  
>>"%Datei3%" echo alias slsd8	"stop; alias sl sd8; say_team Demo 8 Storniert!;"   
>>"%Datei3%" echo alias sdsd08	"alias sd sd9; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 08 erfolgreich beendet. Ergebnis erneut digital manifestirt!; alias ss s16;"  
>>"%Datei3%" echo alias sd9		"say_team Mei bin i haind fleisig muss meine Demo´s schnell umlagern... bis glei!!!!; alias ss s17;s18;"    
>>"%Datei3%" echo alias s1		"say_team Demo 1 läuft !"  
>>"%Datei3%" echo alias s2		"say_team Demo 1 gestopt Score Digitalisiert Demo 2 vorbereitet!"  
>>"%Datei3%" echo alias s3		"say_team Demo 2 läuft !"  
>>"%Datei3%" echo alias s4		"say_team Demo 2 gestopt Score Digitalisiert Demo 3 vorbereitet!"  
>>"%Datei3%" echo alias s5		"say_team Demo 3 läuft !"  
>>"%Datei3%" echo alias s6		"say_team Demo 3 gestopt Score Digitalisiert Demo 4 vorbereitet!"  
>>"%Datei3%" echo alias s7		"say_team Demo 4 läuft !"  
>>"%Datei3%" echo alias s8		"say_team Demo 4 gestopt Score Digitalisiert Demo 5 vorbereitet!"  
>>"%Datei3%" echo alias s9		"say_team Demo 5 läuft !"  
>>"%Datei3%" echo alias s10		"say_team Demo 5 gestopt Score Digitalisiert Demo 6 vorbereitet!"  
>>"%Datei3%" echo alias s11		"say_team Demo 6 läuft !"  
>>"%Datei3%" echo alias s12		"say_team Demo 6 gestopt Score Digitalisiert Demo 7 vorbereitet!"  
>>"%Datei3%" echo alias s13		"say_team Demo 7 läuft !"  
>>"%Datei3%" echo alias s14		"say_team Demo 7 gestopt Score Digitalisiert Demo 8 vorbereitet!"  
>>"%Datei3%" echo alias s15		"say_team Demo 8 läuft !"  
>>"%Datei3%" echo alias s16		"say_team Demo 8 gestopt Score Digitalisiert! Zeit zum Umlagern meiner Demos"  
>>"%Datei3%" echo alias s17 		"say_team Demos Umlagern . . .;s18;"  
>>"%Datei3%" echo alias s18 		"say_team Script Powerd by G4r Field icq 170906408"  

>>"%Datei3%" echo echo ****** G E L A D E N *****  



pushd ..  

if not exist "%Ziel%" md "%Ziel%"    
if exist "%Ziel% " md "%Ziel2%"   




for %%i in ("%Quelle1%") do copy "%%i" "%Ziel2%\%%~ni_%stunden%.%minuten%%%~xi" >nul    
cd screenshots 
for /f "delims=" %%i in ('dir %Quelle2% /b /O-N') do (     
if !zahl! leq %anzahl% copy "%%i" "%Ziel2%"     
set /a zahl=!zahl!+1   
) 

popd
if exist echo del echo
 

Pause

also die batch copiert die datein autoexec.cfg und config.cfg in den von mir gesetzten ordner sicherung
danach bearbeitet die batch die datei autoexec.cfg wie von mir gewünscht und erstell die alias.cfg mit inhalt. leider aber auch eine echo datei ohne irgendwelche endung dadurch am ende der batch del echo
nun bei widerholtem ausführen der batch macht sie genau das was sie machen soll den mist nämlich nochmal ist zwar dumm ist aber bist dato so.... (der pc ist nur so dumm wie der der ihn bedient) ich hoffe mein PC wird noch schlauer :D

würdet ihr mir n weg zeigen wie ich die batch bugfreier bekomme???
Member: G4rfi3ld
G4rfi3ld Feb 07, 2009 at 19:52:02 (UTC)
Goto Top
so ich hab in zeile 33 if exist %datei3% goto fin
und in zeile 95 :fin eingegeben müsste eeigentlich mein proplem beheben
Member: bastla
bastla Feb 07, 2009 at 20:56:02 (UTC)
Goto Top
Hallo G4rfi3ld!

Die Datei "echo" resultiert aus Deiner Zeile 39.
Ein Vorschlag zu einem anderen Thema:
set "Ziel=%ALLUSERSPROFILE%\Desktop\DEMOS"
set "Ziel2=%Ziel%\%Tag%.%monat%.%jahr%"
macht den Batch universeller verwend- und leichter wartbar (wobei ich auch die Datumsschreibweise umkehren bzw auf "%jahr%-%monat%-%Tag%" ändern würde, da so bei Bedarf eine Sortierung vorgenommen werden könnte).
Wenn Du in Zeile 31 einfach
if not exist "..\%Ordner%" md "..\%Ordner%"
verwendest, kannst Du das "pushd" davor und das "popd" danach einsparen.

Da diese beiden außerdem nur paarweise verwendet werden sollten, ist das "popd" in Zeile 35 überzählig.
Noch eine Anregung: Anstelle von
set /a zahl=!zahl!+1
kannst Du kürzer schreiben:
set /a zahl+=1
Hier ist es zwar grundsätzlich egal, da Du diese Variable ohnehin innerhalb der Schleife auch lesen (abfragen) willst, aber in anderen Fällen (wo in der Schleife so nur gezählt werden soll) könntest Du damit die "delayedExpansion" einsparen ...

Grüße
bastla