Top-Themen

Aktuelle Themen (A bis Z)

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

gelöst Batch - Textzeile an Datei anhängen

Mitglied: mak-xxl

mak-xxl (Level 1) - Jetzt verbinden

10.01.2012 um 19:53 Uhr, 3599 Aufrufe, 4 Kommentare

Liebe Gemeinde,

allen ein fröhliches und gesundes Jahr 2012!

Nach vielen Jahren des Mitlesens und Nachschauens hier im Forum (vielen Dank an alle!) habe ich heute ein Problem zu schildern, mit dem ich nicht vorankomme.

Also: Ich verwende die verschiedensten Batch-Scripte, um Aufgaben zu automatisieren. Da diese Scripte (fast) alle per Cron gerufen werden, habe ich mir angewöhnt, den Ausführungszeitpunkt vom Script im Script speichern zu lassen. Es wird also z.B. als letztes die folgende Zeile ausgeführt:

01.
attrib -r %0 & echo :: Ausführung am: %date% %time% >> %0 & attrib +r %0 & exit /b 0
Selbst bei Jobs, die täglich einmal laufen, ist der Größenzuwachs nicht bedeutend, der gesehene Vorteil war das Nichtvorhandensein von extra Log-Dateien.
Nun gibt es Batch-Jobs, die zur Laufzeit eines Rechners (ca. 12-16h/d) etwa alle 5min aufgerufen werden - bei diesen stellt sich nun die Frage:
Gibt es eine Möglichkeit, eine einzelne Zeile (á la 'Letze Laufzeit ...') anzufügen und dabei die vorherige Zeile zu ersetzen|löschen|überschreiben?

Ich bin überzeugt, das Problem hatten andere auch schon, nur die Suche ergibt nichts Neues, leider.

Vielen Dank fürs Draufschauen und Eure Zeit - herzliche Grüße Mario
Mitglied: bastla
10.01.2012 um 21:14 Uhr
Hallo mak-xxl und willkommen als Mitglied!

Ich würde am ehesten die letzte Zeile anhand eines eindeutigen Begriffes (zB "Ausführung") "aussortieren" - ungetestet etwa so:
01.
set "T=%temp%\Batch.tmp 
02.
findstr /v "Ausführung" %0>%T% 
03.
>>%T% echo :: Ausführung am: %date% %time% 
04.
move %T% %0 & attrib +r %0 & exit /b 0
Grüße
bastla
Bitte warten ..
Mitglied: mak-xxl
11.01.2012 um 07:52 Uhr
Guten Morgen,

vielen Dank für die Antwort - das hat schon ungetestet fast funktioniert und vor allem die Richtung aufgezeigt.
Ich hänge die geringfügig modifizierte Lösung unten an, falls jemand mal so etwas brauchen kann.
Die Änderungen betrafen Zeile 2, der Schalter '/b' zwingt findstr zum Lesen ab Zeilenbeginn, sonst passt das Muster auch auf diese und die nächste Zeile - sie werden dann nicht mit umkopiert.
In der vierten Zeile ist noch ein 'attrib -r %0' notwendig, sonst generiert der move-Befehl eine Abfrage.

01.
set "T=%temp%\Batch.tmp" 
02.
findstr /b /v ":: Letzte Ausführung" %0>%T% 
03.
>>%T% echo :: Letzte Ausführung am: %date% %time% 
04.
attrib -r %0 & move %T% %0 & attrib +r %0 & exit /b 0 
05.
 
06.
:: Letzte Ausführung am: 11.01.2012  7:40:40,29
Vielen Dank an bastla, das Forum und alle, die sich Zeit genommen haben - Frohes Schaffen weiterhin! Mario

Zusatz:

Die Aussage " ;der Schalter '/b' zwingt findstr zum Lesen ab Zeilenbeginn" muss besser heißen: "der Schalter '/b' zwingt findstr zum Vergleichen ab Zeilenbeginn".
Außerdem wurde der Schalter '/c' zugefügt (genauer Stringvergleich), sonst werden alle mit '::' beginnenden Zeilen gefunden, und das sind in einem Batch-Script u. U. so einige ...
Falls mehrere Scripte zeitgleich laufen, sei noch an 'set "T=%temp%\%~n0.tmp"' gedacht.

So, nochmals Dank - Mario
Bitte warten ..
Mitglied: bastla
11.01.2012 um 09:24 Uhr
Hallo mak-xxl!

Wenn Du ":: Letzte Ausführung" als Suchbegriff verwendest, wäre, wegen des Leerzeichens, auch noch die Option "/c:" zu verwenden - es werden ansonsten alle mit "::" oder mit "Letzte" oder mit "Ausführung" beginnenden Zeilen gesucht (und eliminiert) ...

Grüße
bastla
Bitte warten ..
Mitglied: mak-xxl
11.01.2012 um 10:54 Uhr
Hallo bastla!

Das kommt davon, wenn man einen Beitrag so langsam schreibt wie ich (zwischendurch in den Formatierungsrichtlinien geblättert) - dann sind die anderen wieder fixer.
Die Auskommentierung vor 'Letzte Ausführung ...' ist zur Sicherheit eingebaut, falls das Script mal über sein Ende rennt - dt. Umlaute richten in anderen Environments manchmal wüste Dinge an ...

Nochmals ein herzliches Dankeschön für die Hilfe - Mario
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch - Variable in bestimmte Textzeile schreiben

Frage von iWolf2015Batch & Shell4 Kommentare

Hallo, ich möchte gerne eine Variable in die n-te Zeile eines .txt Dokumentes schreiben. Ich habe schon verschiedene Ansätze ...

Batch & Shell

Via Batch Zeichen in Textzeilen einfügen

gelöst Frage von LuceDeCielloBatch & Shell3 Kommentare

Hallo, ich habe die Lösung für mein Problem schon fast gefunden. Leider verstehe ich die Positionsangaben in dem Skript ...

Batch & Shell

Windows Batch - Textzeile auslesen (mal wieder)

gelöst Frage von Batch-AlorBatch & Shell4 Kommentare

Guten Abend, nun isses soweit. Bisher bin ich super zurecht gekommen mit meinen Batch Scripts unter Windows. Auch wenn ...

Batch & Shell

Textzeilen mit einem bestimmten Stichwort per Batch auslesen

gelöst Frage von VorlonBatch & Shell5 Kommentare

Guten Morgen an alle die mehr vom Batch-Skripting verstehen als ich! ;-) Ich bin mal wieder an einem Punkt ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 13 StundenHumor (lol)3 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 1 TagGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Sicherheit

Intel gibt neue Spectre V2-Microcode-Updates frei (20.02.2018)

Information von kgborn vor 1 TagSicherheit

Intel hat zum 20. Februar 2018 weitere Microcode-Updates für OEMs freigegeben, um Systeme mit neueren Prozessoren gegen die Spectre ...

Microsoft
ARD-Doku - Das Microsoft Dilemma
Tipp von Knorkator vor 1 TagMicrosoft3 Kommentare

Hallo zusammen, vor einigen Tagen lief in der ARD u.a. Reportage. Das Youtube Video dazu dürfte länger verfügbar sein. ...

Heiß diskutierte Inhalte
Server-Hardware
Welche Rolle spielt Design bei Enterprise IT Hardware?
Frage von ApolloXServer-Hardware16 Kommentare

Ich arbeite für einen internationalen Elektronikhersteller in der Forschung und meine Aufgabe ist es, Feedback von Nutzern in Hinsicht ...

Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Switche und Hubs
Cisco SG350X-48 AdminIP in anderes VLAN
Frage von lcer00Switche und Hubs14 Kommentare

Hallo zusammen, ich habe ein Problem mir einem Cisco SG350X-48 bei der Erstinstallation wurde eine IP 192.168.0.254 (Default VLAN ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...