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

Datum einer Datei mit aktuellem Datum per Batch vergleichen

Mitglied: ghostX

ghostX (Level 1) - Jetzt verbinden

09.11.2009 um 16:58 Uhr, 18440 Aufrufe, 9 Kommentare

Hallo Leute,

bin neu im Forum und auch Anfänger was Batch-Dateien angeht. Habe ähnliche Fragen gefunden aber wurde daraus leider nicht schlau, da wie gesagt ich nur ein Anfänger bin.

Zu meinem Problem:
Möchte mehrere Dateien aus verschiedenen Verzeichnissen per Batch-Datei überprüfen ob deren Änderungsdatum mit dem aktuellen Datum übereinstimmt, und falls nicht eine Fehlermeldung ausgeben.
Freue mich über jeden Tip.
Mitglied: bastla
09.11.2009 um 17:32 Uhr
Hallo ghostX und willkommen im Forum!

Je nachdem, woher die Liste der Dateien stammt (zB aus einer Textdatei) ist ggf eine diesbezügliche Anpassung vorzunehmen - grundsätzlich aber etwa so:
01.
@echo off & setlocal 
02.
set Dateien="D:\Test\Datei 1.txt","D:\Test\Test2\Alt.txt","D:\Kein Test\Die wichtigste Datei.txt" 
03.
set "Vergleich=%date%" 
04.
 
05.
for %%i in (%Dateien%) do if exist %%i ( 
06.
    echo %%~ti|findstr /b "%Vergleich%">nul || echo Abweichendes Datum: %%i 
07.
) else ( 
08.
    echo Nicht gefunden: %%i 
09.
)
Anstelle des aktuellen Tagesdatums kann in Zeile 2 auch ein beliebiges anderes Datum (in der Schreibweise, in der es beim "dir"-Befehl ausgegeben wird) als Vergleichswert eingetragen werden.

Grüße
bastla
Bitte warten ..
Mitglied: ghostX
09.11.2009 um 19:41 Uhr
Hi bastla,

danke für die rasche Antwort

habe es ausprobiert und es funktioniert.

Funktioniert das ganze eigentlich auch wenn ich auf Dateien im Netzwerk zugreifen möchte? Also der Pfad beispielsweise so aussieht: \\172.12.14.56\e:\Datei1.txt ?
Bitte warten ..
Mitglied: bastla
09.11.2009 um 19:47 Uhr
Hallo ghostX!
Funktioniert das ganze eigentlich auch wenn ... der Pfad beispielsweise so aussieht: \\172.12.14.56\e:\Datei1.txt ?
Wenn er so
\\172.12.14.56\e$\Datei1.txt
aussieht , sollte es gehen ...

Grüße
bastla
Bitte warten ..
Mitglied: ghostX
10.11.2009 um 10:46 Uhr
Hi bastla

Spitze! funktioniert 1a

eine Frage hätte ich noch. Kann ich auch, falls ein Datum abweicht, eine Logdatei anlegen lassen? bzw. das Cmd-Fenster offen lassen damit ich gleich erkennen kann dass irgendwas nicht stimmt ?
Bitte warten ..
Mitglied: bastla
10.11.2009 um 11:34 Uhr
Hallo ghostX!

Das CMD-Fenster bleibt offen, wenn Du am Ende noch den Befehl "pause" hinzufügst, allerdings wäre eine Logdatei vermutlich sinnvoller:
01.
@echo off & setlocal 
02.
set Dateien="D:\Test\Datei 1.txt","D:\Test\Test2\Alt.txt","D:\Kein Test\Die wichtigste Datei.txt" 
03.
set "Vergleich=%date%" 
04.
set "Log=D:\LogAktuell.txt" 
05.
 
06.
if exist "%Log%" del "%Log%" 
07.
for %%i in (%Dateien%) do if exist %%i ( 
08.
    echo %%~ti|findstr /b "%Vergleich%">nul || echo Abweichendes Datum: %%i 
09.
) else ( 
10.
    >>"%Log% echo Nicht gefunden: %%i 
11.
12.
if exist "%Log%" notepad "%Log%"
Grüße
bastla
Bitte warten ..
Mitglied: ghostX
18.01.2010 um 14:19 Uhr
Hi bastla,

ist schon lange her...

Habe noch ein kleines Problem. Und zwar möchte ich das Aktuelle Datum nicht in jeder Zeile ausgeben sondern nur einmal als Überschrift. Am besten so dass es immer da ist, auch wenn in der Logdatei nichts steht. Also besser wenn die Logdatei immer erstellt wird unabhängig davon ob was drin steht oder nicht. Habe schon einige Sachen versucht aber leider nicht funktioniert. Müsste ich nicht einfach "echo %date" >> %Log" schreiben um das Datum in die Logdatei einzufügen? An welcher Stelle müsste es stehen?
Bitte warten ..
Mitglied: bastla
18.01.2010 um 15:52 Uhr
Hallo ghostX!

Du kannst einfach die Zeile 6 durch
>"%Log%" echo %date%
ersetzen.

Grüße
bastla
Bitte warten ..
Mitglied: Biber
18.01.2010 um 15:55 Uhr
Moin ghostX,

Zitat von ghostX:
Müsste ich nicht einfach "echo %date" >> %Log" schreiben um das Datum in die Logdatei einzufügen?
An welcher Stelle müsste es stehen?
Kleiner Tipp: wenn bastla davon ausgeht, dass du nach nochmaligem lautem Wiederholen dieser Frage ganz allein darauf kommen wirst,
dann wird er dir sicherlich die Zeit dafür geben.
Denn eigentlich ist es von der so präzise formulierten Frage unmöglich, nicht auf die Antwort zu kommen...
Zwischen welchen Zeilen wäre es denn überhaupt denkbar (nach welcher Zeile kann es frühestens, vor welcher Zeile muss es spätestens)?
Oder um einen anderen begnadeten Moderator zu zitieren: "Wollen Sie jetzt den Fifty-Fifty-Joker oder lieber das Publikum befragen?"

Grüße
Biber
[/edit] Doch wieder rechts überholt worden... *winks [/edit]
Bitte warten ..
Mitglied: ghostX
19.01.2010 um 11:13 Uhr
Hi bastla,

hat sich schon erledigt aber trotzdem danke. Musste in Zeile 6 folgendes reinschreiben:

echo>>"%Log%" %date%

Hatte es vorher auch so versucht wie du geschrieben hattest aber wollt irgendwie nicht funktionieren
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
FTP Datei mit aktuellem Datum Übertragen - Batch Script
Frage von spyware96Batch & Shell10 Kommentare

Hi, ich soll ein Script (Batch-Datei) Schreiben welches folgendes macht: - Ein Backup auf einem Server zu einem .zip-Archiv ...

Microsoft Office
Dateien mit dem aktuellen Datum Zählen
gelöst Frage von OlliMucMicrosoft Office3 Kommentare

Servus zusammen, ich hoffe sehr, dass mir mal wieder jemand helfen kann. Ich arbeite mit einem VBA-Makro bzw einer ...

Batch & Shell
Per Batch Erstellungdatum einer Datei mit aktuellem Datum abgleichen
gelöst Frage von SchnubbelschubsBatch & Shell4 Kommentare

Hallo zusammen, Ich hab mir schon einen Wolf im Netz gesucht, aber irgendwie finde ich nicht das passende. Mein ...

Batch & Shell
Per Batch ein Datum in einer XML-Datei auf das aktuelle Datum aktualisieren
gelöst Frage von addy0604Batch & Shell4 Kommentare

Hallo Zusammen, ich hab hier ein kleines Problem. Wird für euch wahrscheinlich ein Klacks sein, aber ich verzweifle hier ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 5 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 12 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 ...