Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung Batch & Shell

Mitglied: mak-xxl

mak-xxl (Level 1) - Jetzt verbinden

10.01.2012 um 19:53 Uhr, 3565 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
gelöst Via Batch Zeichen in Textzeilen einfügen (3)

Frage von LuceDeCiello zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch : alle Dateien eines Ordners bearbeiten (1)

Frage von deguonkel zum Thema Batch & Shell ...

Batch & Shell
gelöst Programme beenden Batch Dateien (3)

Frage von anmelder zum Thema Batch & Shell ...

Neue Wissensbeiträge
Ubuntu

Ubuntu 17.10 steht zum Download bereit

(3)

Information von Frank zum Thema Ubuntu ...

Datenschutz

Autofahrer-Pranger - Bewertungsportal illegal

(8)

Information von BassFishFox zum Thema Datenschutz ...

Windows 10

Neues Win10 Funktionsupdate verbuggt RemoteApp

(8)

Information von thomasreischer zum Thema Windows 10 ...

Microsoft

Die neuen RSAT-Tools für Win10 1709 sind da

(2)

Information von DerWoWusste zum Thema Microsoft ...

Heiß diskutierte Inhalte
Router & Routing
Allnet - VDSL2 Modem - SFP (mini-GBIC) (20)

Frage von Dobby zum Thema Router & Routing ...

Monitoring
Netzwerk-Monitoring Software (18)

Frage von Ghost108 zum Thema Monitoring ...

Windows 10
Seekrank bei Windows 10 (17)

Frage von zauberer123 zum Thema Windows 10 ...

Windows Server
gelöst Kopiervorgang schlägt fehl, weil Datei- und Ordnername zu lang sind (14)

Frage von Schroedi zum Thema Windows Server ...