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 - Ältestes Logfile Wegsichern

Mitglied: northon

northon (Level 1) - Jetzt verbinden

05.08.2008, aktualisiert 06.08.2008, 4206 Aufrufe, 10 Kommentare

Guten Tag allerseits!

Ich habe folgende Problemstellung:

NTBackup legt immer die Logfiles der letzten 10 Tage ab und löscht alle älteren. Nun möchte ich mir per Patch immer den ältesten wegkopieren, bevor er gelöscht wird.

Mein Problem ist, dass ich nur sehr beschränktes Wissen ob des Batch habe und nun mehr oder weniger oer radnom rumprobiere und zu keinem Ergebnis komme.

@echo off
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%a%%b%%c%%d
cd C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\WindowsNT\NTBackup\data
Echo D | xcopy test.txt LogFiles_alt\Sicherung%CDATE%.txt
for %%f in ("C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\WindowsNT\NTBackup\data*.txt") do echo %%~tf

Ich kann mir eine hardgecodete test.txt jeden tag wegsichern und die for-Schleife darunter teilt mir die Änderungsdaten der Dateien mit.
Ich komme jedoch nicht dahinter, wie ich dem Batch nun sagen soll er solle die älteste .txt File wegsichern.

Es wäre mir eine Freude wenn mir jmd helfen könnte,

Vielen Dank im Vorraus,
mit freundlichen Grüßen

Northon
Mitglied: bastla
05.08.2008 um 13:32 Uhr
Hallo Northon!

Ungetestet etwa so:
01.
@echo off & setlocal 
02.
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%a%%b%%c%%d 
03.
cd /d "C:\Dokumente und Einstellungen\Administrator\Lokale Einstellungen\Anwendungsdaten\Microsoft\WindowsNT\NTBackup\data" 
04.
for /f "delims=" %%i in ('dir *.txt /b /a-d /o-d') do set "Oldest=%%i" 
05.
copy "%Oldest%" LogFiles_alt\Sicherung%CDATE%.txt
Grüße
bastla

[Edit] Pfad angepasst [/Edit]
Bitte warten ..
Mitglied: northon
05.08.2008 um 14:12 Uhr
Danke für deine schnelle Antwort!

um es auf meinem Desktop testen zu können, habe ich einen LogFiles_alt Ordner und ein paar .txt Dateien erstellt und gestartet, doch bekomme ich dann einen Syntax-Error zurück.

Hier der Code:

@echo off & setlocal
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set CDATE=%%a%%b%%c%%d
cd /d "C:\Dokumente und Einstellungen\akerber\Desktop"
for /f "delims=" %%i in ('dir *.txt /b /a-d /o-d') do set "Oldest=%%i"
copy "%Oldest%" LogFiles_alt\Sicherung%CDATE%.txt

Mit freundlichen Grüßen
Northon
Bitte warten ..
Mitglied: bastla
05.08.2008 um 14:22 Uhr
Hallo Northon!

bekomme ich dann einen Syntax-Error zurück.
Kann ich nicht nachvollziehen.

Ersetze bitte (zum Testen) "echo off" durch "echo on" und starte von der Kommandozeile oder füge als letzte Zeile noch "pause" hinzu - dann kannst Du Dir den Ablauf genau ansehen.

Grüße
bastla

P.S.: Das Datum würde ich eher mit "%%c%%b%%a" festlegen (zumindest unter XP/2003/Vista).

P.P.S.: Ein Batch ist leichter lesbar, wenn er beim Posten unter < code>/< /code>-Tags (ohne Leerzeichen ) gesetzt wird.
Bitte warten ..
Mitglied: northon
05.08.2008 um 14:37 Uhr
Hallo Bastla!

Danke für dienen <code>-Tipp Werds in Zukunft verwenden. Hab den von dir beschriebenen Test durchgeführt und häng dir nen Screenshot an:

http://img228.imageshack.us/img228/8684/batchya2.png

Danke für deine Hilfe!

Mit freundlichen Grüßen
Northon
Bitte warten ..
Mitglied: bastla
05.08.2008 um 14:46 Uhr
Hallo Northon!

häng dir nen Screenshot an.
Geht auch einfacher: Nach einem Klick auf das Systemmenüfeld (linke obere Ecke) des CMD-Fensters kannst Du in den Eigenschaften den"QuickEdit-Modus" (am besten gleich für alle Fenster) einschalten und danach mit der Maus Text markieren und per rechter Maustaste kopieren (bzw, wenn nichts markiert ist, einfügen).
Das Problem ist das Leerzeichen hinter dem Datum (und vor ".txt") - lässt sich durch Setzen von Anführungszeichen vermeiden:
01.
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set "CDATE=%%a%%b%%c%%d"
Grüße
bastla
Bitte warten ..
Mitglied: northon
05.08.2008 um 15:03 Uhr
Hehe danke für den Quick Edit-Modus. Es freut mich, dass es immer noch Leute gibt, die sich nicht nur die Mühe machen ein Problem zu lösen, sondern auch noch hilfreiche Infos Rund um das Thema geben. Ein Dank und großes Lob an dich von meiner Seite

Habe nun die Anführungszeichen gesetzt, nur nehm ich damit anscheinend einen wichtigen Parameter aus dem Spiel genommen, denn nun kopiert er mir immer die neueste Datei anstatt der ältesten

Es ist sicher ein dummer Fehler, aber bitte kläre mich noch darüber auf.

Nach der ganzen Geschichte ist einmal dringend ein ausführliches Batch Tutorial nötig....wenn man doch nur einmal Zeit dafür hätte.

Mit freundlichen Grüßen
Northon

01.
@echo on & setlocal 
02.
FOR /F "tokens=1,2,3,4,5 delims=/. " %%a in ('date/T') do set "CDATE=%%a%%b%%c%%d"  
03.
cd /d "C:\Dokumente und Einstellungen\akerber\Desktop"  
04.
for /f "delims=" %%i in ('"dir *.txt" /b /a-d /o-d') do set "Oldest=%%i"  
05.
copy "%Oldest%" LogFiles_alt\Sicherung%CDATE%.txt
[EDIT]Der Effekt ist der gleiche wenn ich die Anführungszeichen beim "dir *.txt" ganz wegnehme.[/EDIT]
Bitte warten ..
Mitglied: bastla
05.08.2008 um 15:15 Uhr
Hallo Northon!

Das Setzen der Anführungszeichen bezog sich nur auf die gepostete Zeile für das Erstellen der Datumsvariable %CDATE% (da diese ohne Anführungszeichen am Ende ein Leerzeichen enthält) - daher die Anführungszeichen um das "dir" entfernen (oder zumindest nur um "*.txt" setzen).

Grüße
bastla
Bitte warten ..
Mitglied: northon
05.08.2008 um 15:50 Uhr
Wie oben beschrieben: wenn ich die Anführungszeichen beim .txt weglasse, ändert es nichts daran, dass die neueste und nicht die älteste Datei kopiert wird.

Ich habe dir nochmals den "log" kopiert:

Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

Z:\>c:\copy.bat

Z:\>FOR /F "tokens=1,2,3,4,5 delims=/. " %a in ('date/T') do set "CDATE=%a%b%c%d
"

Z:\>set "CDATE=05082008"

Z:\>cd /d "C:\Dokumente und Einstellungen\akerber\Desktop"

C:\Dokumente und Einstellungen\akerber\Desktop>for /F "delims=" %i in ('dir *.tx
t /b /a-d /o-d') do set "Oldest=%i"

C:\Dokumente und Einstellungen\akerber\Desktop>set "Oldest=zweiter.txt"

C:\Dokumente und Einstellungen\akerber\Desktop>set "Oldest=erster.txt"

C:\Dokumente und Einstellungen\akerber\Desktop>copy "erster.txt" LogFiles_alt\Si
cherung05082008.txt
1 Datei(en) kopiert.

die datei erster.txt wurde zuerst und die datei zweiter.txt als zweite erstellt mit einem Abstand>1min.

Geht das Batchfile vielleicht nur auf tageslange Abstände?

Mfg Northon
Bitte warten ..
Mitglied: bastla
05.08.2008 um 18:02 Uhr
Hallo Northon!

die datei erster.txt wurde zuerst und die datei zweiter.txt als zweite erstellt mit einem Abstand>1min.
... dann wäre "erster.txt" die älteste Datei und sollte kopiert werden, was ...
C:\Dokumente und Einstellungen\akerber\Desktop>copy "erster.txt" LogFiles_alt\Si
cherung05082008.txt
1 Datei(en) kopiert.
... auch zu klappen scheint ...

Nur als Ergänzung: Zugrundegelegt wird nicht das Erstellungsdatum, sondern das Datum der letzten Änderung, und eine Kontrolle mit
01.
dir /o-d "C:\Dokumente und Einstellungen\akerber\Desktop\*.txt"
sollte zeigen, dass die Datei mit dem frühesten Änderungsdatum als letzte aufgelistet (und daher im Batch verwendet) wird. Verantwortlich für diese Reihenfolge ist das "-" in "/o-d" - mehr dazu mit "dir /?".

Grüße
bastla
Bitte warten ..
Mitglied: northon
06.08.2008 um 08:36 Uhr
Siehst du, da sieht man vor lauter passierten Fehler nicht einmal mehr wenns funktioniert...langsam werd ich Paranoid

Vielen Dank für eine ausführliche und gute Hilfe! Ich geh jetzt ein Batch Tutorial lesen...

Mit freundlichen Grüßen
Northon
Bitte warten ..
Ähnliche Inhalte
Exchange Server

Exchange 2010 - Logfiles und Datenbank wegsichern

Frage von staybbExchange Server4 Kommentare

Hallo zusammen, ich möchte einen Exchange 2010 mit 3 Mailboxstores wegsichern und die entsprechenden Transaktionslogs ebenfalls. Früher wurde dies ...

Batch & Shell

Batch soll Informationen aus Logfiles auslesen

gelöst Frage von Eichhorn63Batch & Shell8 Kommentare

Hallo, Ich bin neu im Forum und habe folgende Frage: Aus mehreren, jeweils über 1000 Zeilen großen Logfiles sollen ...

Batch & Shell

Batch Aufgabe mit Logfile

gelöst Frage von CAPO123Batch & Shell2 Kommentare

Hallo zusammen, ich habe bereits eine Batch Datei XY, die funktioniert. Meine Aufgabe ist es nun ein Logfile für ...

Batch & Shell

Batch Dateiabfrage. Wenn älter als dann goto

gelöst Frage von ZunarasBatch & Shell2 Kommentare

Hallo, ich bin am basteln und möchte in meiner Batch eine Abfrage einbauen. Hier das komplette Skript: Ich möchte ...

Neue Wissensbeiträge
Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 7 StundenHumor (lol)1 Kommentar

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 19 StundenGoogle 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 20 StundenSicherheit

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 23 StundenMicrosoft3 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
Windows Server
AD DS findet Domäne nicht, behebbar?
Frage von schapitzWindows Server40 Kommentare

Guten Tag, ich habe bei einem Kunden ein Problem mit den AD DS. Umgebung ist folgende: Windows Server 2016 ...

Router & Routing
LANCOM VPN CLIENT einrichten
Frage von Finchen961988Router & Routing27 Kommentare

Hallo, ich habe ein Problem und hoffe ihr könnt mir helfen, wir haben einen Kunden der hat einen Speedport ...

Router & Routing
ISC DHCP 2 Subnetze
gelöst Frage von janosch12Router & Routing19 Kommentare

Hallo, ich betreibe bei mir im Netzwerk einen ISC DHCP Server auf Debian, der DHCP verwaltet aktuell ein /24 ...

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 ...