Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

txt inhalt kopieren und hinzufügen

Frage Entwicklung Batch & Shell

Mitglied: G4rfi3ld

G4rfi3ld (Level 1) - Jetzt verbinden

05.02.2009, aktualisiert 21:40 Uhr, 3120 Aufrufe, 5 Kommentare

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 http://www.administrator.de/index.php?content=76419 aber hmm..... ist das ne batch datei???? Das zweite ist http://www.administrator.de/index.php?content=66821 würde mir der link weiterhelfen ?

Mit unterstützung von bastla kam folgendes zu stande

01.
@echo off & setlocal enabledelayedexpansion  
02.
set "Quelle1=demo*.dem"  
03.
set "Quelle2=*.jpg" 
04.
 
05.
set "jahr=%date:~-4%"  
06.
set "monat=%date:~-7,2%"  
07.
set "tag=%date:~-10,2%"  
08.
set "stunden=%time:~0,2%"  
09.
set "stunden=%stunden: =0%"  
10.
set "minuten=%time:~3,2%"  
11.
 
12.
set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS" 
13.
set "Ziel2=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS\%Tag%.%monat%.%jahr%  
14.
 
15.
set "anzahl=5" 
16.
set "zahl=1" 
17.
 
18.
 
19.
 
20.
pushd ..  
21.
if not exist "%Ziel%" md "%Ziel%"  
22.
if exist "%Ziel% " md "%Ziel2%" 
23.
 
24.
for %%i in ("%Quelle1%") do copy "%%i" "%Ziel2%\%%~ni_%stunden%.%minuten%%%~xi" >nul  
25.
cd screenshots 
26.
for /f "delims=" %%i in ('dir %Quelle2% /b /O-N') do (   
27.
if !zahl! leq %anzahl% copy "%%i" "%Ziel2%"   
28.
set /a zahl=!zahl!+1   
29.
30.
 
31.
 
32.
 
33.
popd 
34.
 
35.
 
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.
Mitglied: bastla
05.02.2009 um 21:58 Uhr
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:
01.
set "Ordner=D:\Dein Ordner" 
02.
set "Datei=Autoexec.cfg" 
03.
set "Bak=original.txt" 
04.
 
05.
copy "%Ordner%\%Datei%" "%Ordner%\%Bak%" 
06.
>>"%Ordner%\%Datei%" echo Zusatzzeile1 
07.
>>"%Ordner%\%Datei%" echo Zusatzzeile2 
08.
>>"%Ordner%\%Datei%" echo Zusatzzeile3 
09.
>>"%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
Bitte warten ..
Mitglied: G4rfi3ld
07.02.2009 um 18:56 Uhr
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 Mit freundlichen Grüßen G4r Field
Bitte warten ..
Mitglied: G4rfi3ld
07.02.2009 um 20:10 Uhr
So hallo beisammen hier mein code

01.
@echo off & setlocal enabledelayedexpansion  
02.
 
03.
  
04.
set "Quelle1=demo*.dem"   
05.
set "Quelle2=*.jpg"  
06.
set "Datei1=Autoexec.cfg 
07.
 
08.
set "Ordner=sicherung"  
09.
set "Datei1=autoexec.cfg" 
10.
Set "Datei2=config.cfg"  
11.
set "Bak1=autoexec_org.cfg" 
12.
set "Bak2=config_org.cfg" 
13.
set "Datei3=alias.cfg" 
14.
 
15.
 
16.
set "jahr=%date:~-4%"   
17.
set "monat=%date:~-7,2%"   
18.
set "tag=%date:~-10,2%"   
19.
set "stunden=%time:~0,2%"   
20.
set "stunden=%stunden: =0%"   
21.
set "minuten=%time:~3,2%"   
22.
 
23.
set "Ziel=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS"  
24.
set "Ziel2=C:\Dokumente und Einstellungen\All Users\Desktop\DEMOS\%Tag%.%monat%.%jahr%   
25.
 
26.
set "anzahl=5"  
27.
set "zahl=1"  
28.
 
29.
pushd .. 
30.
 
31.
if not exist "%Ordner%" md "%Ordner%" 
32.
popd 
33.
 
34.
copy "%Datei1%" "..\%Ordner%\%Bak1%" 
35.
popd 
36.
copy "%Datei2%" "..\%Ordner%\%Bak2%" 
37.
 
38.
 
39.
>>echo %Datei3% 
40.
 
41.
>>"%Datei1%"  echo ;exec alias.cfg 
42.
  
43.
>>"%Datei3%" echo // Demo aufzeichnen Stopen zblock geeignet 
44.
>>"%Datei3%" echo alias sd 		"sd1" 
45.
>>"%Datei3%" echo alias sl 		"say_team demoscript noch nicht gestartet"  
46.
>>"%Datei3%" echo alias sd1		"alias sd sdsd01; alias sl slsd1;record demo01.dem; Say_team Demo 01 gestartet!; alias ss s1;" 
47.
>>"%Datei3%" echo alias slsd1 	"stop; alias sl sd1; say_team Demo 1 Storniert!; " 
48.
>>"%Datei3%" echo alias sdsd01	"alias sd sd2;+showscores; jpeg; cancelselect; stop; say_team Spielaufzeichnung 01 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s2;"  			  
49.
>>"%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;"  
50.
>>"%Datei3%" echo alias slsd2 	"stop; alias sl sd2; say_team Demo 2 Storniert!; " 
51.
>>"%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;"   
52.
>>"%Datei3%" echo alias sd3		"alias sd sdsd03; alias sl slsd3; record demo03.dem; Say_team Demo 03 gestartet!; alias ss s5;"  
53.
>>"%Datei3%" echo alias slsd3 	"stop; alias sl sd3; say_team Demo 3 Storniert!; " 
54.
>>"%Datei3%" echo alias sdsd03	"alias sd sd4; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 03 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s6;" 
55.
>>"%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;" 
56.
>>"%Datei3%" echo alias slsd4	"stop; alias sl sd4; say_team Demo 4 Storniert!; " 
57.
>>"%Datei3%" echo alias sdsd04	"alias sd sd5; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung die 4te beendet. Ergebnis erneut digital manifestirt!; alias ss s8;"  
58.
>>"%Datei3%" echo alias sd5		"alias sd sdsd05; alias sl slsd1; record demo05.dem; Say_team Demo 05 gestartet!; alias ss s9;" 
59.
>>"%Datei3%" echo alias slsd5 	"stop; alias sl sd5; say_team Demo 5 Storniert!; " 
60.
>>"%Datei3%" echo alias sdsd05	"alias sd sd6; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 05 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s10;" 
61.
>>"%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;" 
62.
>>"%Datei3%" echo alias slsd6 	"stop; alias sl sd6; say_team Demo 6 Storniert!;" 
63.
>>"%Datei3%" echo alias sdsd06	"alias sd sd7; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 06 erfolgreich beendet. Ergebnis erneut digital manifestirt!; alias ss s12;"  
64.
>>"%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;" 
65.
>>"%Datei3%" echo alias slsd7 	"stop; alias sl sd7; say_team Demo 7 Storniert!;" 
66.
>>"%Datei3%" echo alias sdsd07	"alias sd sd8; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 07 erfolgreich beendet. Ergebnis digital manifestirt!; alias ss s14;" 
67.
>>"%Datei3%" echo alias sd8		"alias sd sdsd08; alias sl slsd8; record demo08.dem;  say HF & GL wish www.hwo-css.de; alias ss s15;" 
68.
>>"%Datei3%" echo alias slsd8	"stop; alias sl sd8; say_team Demo 8 Storniert!;"  
69.
>>"%Datei3%" echo alias sdsd08	"alias sd sd9; +showscores; jpeg;  cancelselct; stop; say_team Spielaufzeichnung 08 erfolgreich beendet. Ergebnis erneut digital manifestirt!; alias ss s16;" 
70.
>>"%Datei3%" echo alias sd9		"say_team Mei bin i haind fleisig muss meine Demo´s schnell umlagern... bis glei!!!!; alias ss s17;s18;"   
71.
>>"%Datei3%" echo alias s1		"say_team Demo 1 läuft !" 
72.
>>"%Datei3%" echo alias s2		"say_team Demo 1 gestopt Score Digitalisiert Demo 2 vorbereitet!" 
73.
>>"%Datei3%" echo alias s3		"say_team Demo 2 läuft !" 
74.
>>"%Datei3%" echo alias s4		"say_team Demo 2 gestopt Score Digitalisiert Demo 3 vorbereitet!" 
75.
>>"%Datei3%" echo alias s5		"say_team Demo 3 läuft !" 
76.
>>"%Datei3%" echo alias s6		"say_team Demo 3 gestopt Score Digitalisiert Demo 4 vorbereitet!" 
77.
>>"%Datei3%" echo alias s7		"say_team Demo 4 läuft !" 
78.
>>"%Datei3%" echo alias s8		"say_team Demo 4 gestopt Score Digitalisiert Demo 5 vorbereitet!" 
79.
>>"%Datei3%" echo alias s9		"say_team Demo 5 läuft !" 
80.
>>"%Datei3%" echo alias s10		"say_team Demo 5 gestopt Score Digitalisiert Demo 6 vorbereitet!" 
81.
>>"%Datei3%" echo alias s11		"say_team Demo 6 läuft !" 
82.
>>"%Datei3%" echo alias s12		"say_team Demo 6 gestopt Score Digitalisiert Demo 7 vorbereitet!" 
83.
>>"%Datei3%" echo alias s13		"say_team Demo 7 läuft !" 
84.
>>"%Datei3%" echo alias s14		"say_team Demo 7 gestopt Score Digitalisiert Demo 8 vorbereitet!" 
85.
>>"%Datei3%" echo alias s15		"say_team Demo 8 läuft !" 
86.
>>"%Datei3%" echo alias s16		"say_team Demo 8 gestopt Score Digitalisiert! Zeit zum Umlagern meiner Demos" 
87.
>>"%Datei3%" echo alias s17 		"say_team Demos Umlagern . . .;s18;" 
88.
>>"%Datei3%" echo alias s18 		"say_team Script Powerd by G4r Field icq 170906408" 
89.
 
90.
>>"%Datei3%" echo echo ****** G E L A D E N ***** 
91.
 
92.
 
93.
 
94.
pushd ..   
95.
 
96.
if not exist "%Ziel%" md "%Ziel%"   
97.
if exist "%Ziel% " md "%Ziel2%"  
98.
 
99.
 
100.
 
101.
 
102.
for %%i in ("%Quelle1%") do copy "%%i" "%Ziel2%\%%~ni_%stunden%.%minuten%%%~xi" >nul   
103.
cd screenshots  
104.
for /f "delims=" %%i in ('dir %Quelle2% /b /O-N') do (    
105.
if !zahl! leq %anzahl% copy "%%i" "%Ziel2%"    
106.
set /a zahl=!zahl!+1    
107.
)  
108.
 
109.
popd 
110.
if exist echo del echo 
111.
  
112.
 
113.
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???
Bitte warten ..
Mitglied: G4rfi3ld
07.02.2009 um 20:52 Uhr
so ich hab in zeile 33 if exist %datei3% goto fin
und in zeile 95 :fin eingegeben müsste eeigentlich mein proplem beheben
Bitte warten ..
Mitglied: bastla
07.02.2009 um 21:56 Uhr
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
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (17)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

DSL, VDSL
DSL-Signal bewerten (14)

Frage von SarekHL zum Thema DSL, VDSL ...