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

Frage Entwicklung Batch & Shell

GELÖST

Batch - Mit batch eine txt verändern bzw kürzen (siehe Posting)

Mitglied: Xalimeo

Xalimeo (Level 1) - Jetzt verbinden

31.12.2007, aktualisiert 18.10.2012, 7119 Aufrufe, 6 Kommentare

Möchte Logs kürzen (siehe Beitrag)

Ein schönen Sylvesterabend an alle!

Ich bin dabei ein BackUp-Programm zu schreiben für mein System.

Konzept:
1: Virenscan (mit log)
2: Sicherheitskopie der wichtigsten Verzeichnisse auf andere HDD machen (mit log)
3: Sicherheitskopie packen (mit log) (danach Orignal behalten oder nicht, je nach Wahl)
4: Image vom System erstellen

Klingt einfach?
Ist es auch! (Relativ)

"Problem":
Läuft alles einwandfrei soweit, bis auf den einen "Schönheitsfehler", dass die logs doch recht lang ausfallen (~2MB und grösser).
Zumindest das vom AntiViren-Test. Da bräuchte ich nur die letzten 7 Zeilen (Zusammenfassung) und vom Log des Packvorgangs eigentlich nur die Hälfte (Zeilenanzahl variiert).
Das BackUp wird erst gepackt und dann das Archiv getestet, jedoch landet beides in einem logfile. Ich bräuchte aber nur den Teil des logs, in dem das Archiv getestet wird.


P.S.:
Einen guten Rutsch ins neue Jahr! *Prost*




[Edit Biber]Beitrag verschoben von "Windows" nach "Batch & Shell"[/Edit]
Mitglied: Fraenky
01.01.2008 um 11:59 Uhr
Frohes Neues.

Ich würde diesen Beitrag unter
Entwicklung/Programmiersprachen/Batch & Shell
einstellen.

Gruß
Fraenky
Bitte warten ..
Mitglied: bastla
01.01.2008, aktualisiert 18.10.2012
Hallo Xalimeo und willkommen im Forum!

Ähnliche Fragestellungen haben wir immer wieder, neulich etwa hier ...

Das Finden der Zeilennummer, bis zu welcher/ab welcher das Logfile benötigt wird, lässt sich mit "findstr" bewerkstellligen, etwa für das erste Vorkommen des Suchkriteriums:
01.
@echo off & setlocal 
02.
set Zeile= 
03.
for /f "delims=:" %%i in ('findstr /n /c:"Dein Suchkriterium" "Deine LogDatei.log"') do if not defined Zeile set Zeile=%%i 
04.
echo %Zeile%
Für die letzte Zeile, welche das Suchkriterium enthält, findest Du die Zeilennummer so:
01.
@echo off & setlocal 
02.
for /f "delims=:" %%i in ('findstr /n /c:"Dein Suchkriterium" "Deine LogDatei.log"') do set Zeile=%%i 
03.
echo %Zeile%
Falls das Suchkriterium am Beginn der Zeile stehen muss, kannst Du zusätzlich noch "/b" verwenden (siehe "findstr /?").

Grüße
bastla

[Edit] Hatte ein "n" verlegt, aber inzwischen wieder gefunden und gleich in der ersten Textzeile hinter "habe" platziert ... [/Edit]
Bitte warten ..
Mitglied: Xalimeo
02.01.2008 um 00:01 Uhr
Frohes Neues.

Ich würde diesen Beitrag unter
Entwicklung/Programmiersprachen/Batch &
Shell
einstellen.

Gruß
Fraenky
Tut mir leid, aber ich hatte noch nicht wirklich die Zeit mich hier überall umzugucken.
Habe auch zu sehr den Gedanken des BackUps eines Windows-Systems im Kopf gehabt und deswegen gleich hier gepostet. Da war ich vielleicht ein wenig vorschnell. Sorry.


[...]
01.
@echo off & setlocal 
02.
set Zeile= 
03.
for /f "delims=:" %%i in ('findstr /n /c:"Dein Suchkriterium" "Deine LogDatei.log"') do if not defined Zeile set Zeile=%%i 
04.
echo %Zeile%
Falls das Suchkriterium am Beginn der Zeile stehen muss, kannst Du zusätzlich noch "/b" verwenden (siehe "findstr /?").

Grüße
bastla
Super, das klappt hervorragend!
Jetzt hab ich nurnoch das Problemchen, dass ich die beiden Zeilennummer der jeweiligen Datei entweder nur im Prompt angezeigt kriege, oder die Ausgabe in eine txt ausgeben lasse.
Und nun würd ich gerne die txt auslesen und den Inhalt (Anfangs- und EndZeilennummer des Logs, wie ich es nachher haben möchte) im Program weiterverwenden.
Hab hier schon ein bisschen rumgelesen und Google, etc gefragt, jedoch nichts passendes finden können.
Bitte warten ..
Mitglied: bastla
02.01.2008 um 01:32 Uhr
Hallo Xalimeo!

Die jeweilige Zeilennummer steht ja in der Variable %Zeile%, welche Du dann entsprechend einsetzen kannst.

Wenn Du zwei verschiedene Zeilennummern benötigst, einfach zwei "for"-Schleifen mit verschiedenen Variablen zB (VonZeile und BisZeile) verwenden. Die Ausgabe würde dann etwa so erfolgen (jeweils inklusive Von- und BisZeile):
01.
for /f "delims=: tokens=1,*" %%i in ('findstr /n $ "Deine Logdatei.txt"') do if %%i geq %VonZeile% if %%i leq %BisZeile% echo.%%j
"geq" ("greater or equal" = "größer oder gleich") und "leq" ("less or equal" = "kleiner oder gleich") kannst Du auch durch "gtr" bzw "lss" ersetzen - siehe dazu "if /?".

Grüße
bastla

P.S.: Es spricht eigentlich nichts dagegen, nur auszugsweise aus den vorhergehenden Kommentaren zu zitieren ...
Bitte warten ..
Mitglied: Biber
04.01.2008 um 15:37 Uhr
Moin Xalimeo,

ist denn Deine Frage hinreichend beantwortet oder sind noch Fragen offen?
Falls noch etwas klemmt, dann poste Deinen bisherigen Code mit einer konkreten Problemstellung.
Falls nein, setze bitte einen "Erledigt"-Haken, damit ich den Beitrag schließen kann.

Danke
Biber
Bitte warten ..
Mitglied: Biber
12.01.2008 um 19:08 Uhr
Beitrag auf "Gelöst" gesetzt und geschlossen.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Txt datei veränden - "steuerung" für VirtualBox
gelöst Frage von AngryDadBatch & Shell7 Kommentare

Hallo zusammen! Möchte eine .bat schreiben mit der ich meine VM´s steuern kann. Hab es schon geschafft die Liste ...

Batch & Shell
Dateinamen einer ausgeführten Batch verändern
Frage von DD-GamerBatch & Shell5 Kommentare

Hallo, ich möchte den Dateinamen der auszuführenden .bat um eins erhöhen nachdem ich sie ausgeführt habe. Das würde dann ...

Batch & Shell
Batch kürzen, übersichtlicher machen
Frage von yazendBatch & Shell2 Kommentare

Guten Morgen zusammen, kann hier mal jemand "rüber schauen" da meine BATCH Kenntnisse nicht dafür ausreichen um diese eventuell ...

Windows Server
Was ist das (siehe Screenshot)?
Frage von Winfried-HHWindows Server14 Kommentare

Guten Morgen Ihr Experten! Gestern morgen lief bei uns in der Schule EDV-mäßig nichts mehr, der Server war nicht ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 6 StundenRouter & Routing2 Kommentare

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 13 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 17 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...