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 Erstellungsdatum einer Datei mit dem aktuellen Datum vergleichen

Mitglied: 72114

72114 (Level 1)

20.11.2008, aktualisiert 21.11.2008, 9391 Aufrufe, 8 Kommentare

Guten Morgen!

Ich habe hier ein kleines Problem. Ich habe einen Ordner mit Unterordnern. In diesen Ordnern befinden sich einige Exceldateien. Diese Dateien werden täglich automatisch aktualisiert. Manchmal kommt es aber vor, dass die eine oder andere Datei nicht aktualisiert wurde.

Nun versuche ich gerade eine Batchdatei zu erstellen die das Erstellungsdatum dieser Exceldateien mit dem aktuellen Datum vergleicht. Wenn das Erstellungsdatum mit dem aktuellen Datum übereinstimmt soll nichts unternommen werden. Wenn aber das Erstellungsdatum und das aktuelle Datum nicht überinstimmt, soll eine Email an einen bestimmten Benutzer verschickt werden, mit dem Hinweis die Datei(en) mit dem Dateinamen XY wurde nicht aktualisiert.

Ist das möglich und wenn ja wie realisiere ich das ganze in einem Batch?

Danke schon mal für die Hilfe!
Mitglied: Biber
20.11.2008 um 13:03 Uhr
Moin Alex3103,

willkommen im Forum.
Ähnliche Fragestellungen haben wir schon ein paar mal im "Batch & Shell".

Deshalb nur in Kurzfassung:
a) alle *.xls-Dateien im aktuellen Verzeichnis mit Erstellungsdatum ungleich heute:
(Beispiel am CMD-Prompt)
01.
for %i in (*.xls) do @echo %~ti|FindStr /v "^%date%">nul && echo %i 
[Im Batch zwei %-Zeichen überall dort, wo jetzt eins vor der Variable %i steht.]
b) Ggf Umleiten der Ausgabe mit einem angehängten ">>"%temp%\%date%.lst" in eine Textdatei.
c) Senden dieser Liste "%temp%\%date%.lst" mittels Blat.exe (Link ist unter Links in Batch & Shell).

Grüße
Biber
Bitte warten ..
Mitglied: 72114
20.11.2008 um 14:43 Uhr
Hallo Biber,

danke für die schnelle Antwort. Leider bin ich ein total Batch-Anfänger. Außer Anmeldescripts habe ich noch nichts dergleichen erstellt. Kannst Du mir vielleicht diese Zeile etwas genauer erklären? Wenn ich diese Datei abändere (%%i statt %i und die Ausgabe in eine Testdatei) öffnet sich kurz die Dos-Box aber es passiert sonst nichts...

Gruß

Alex
Bitte warten ..
Mitglied: Biber
20.11.2008 um 17:03 Uhr
Moin Alex3103,

ich versuche mal die Zeile oben zu erläutern - empfehle aber ausdrücklich, die einzelnen Teile auch erstmal am CMD-Prompt durchzuspielen.

Die ganze CMD-Prompt-Zeile
01.
for %i in (*.xls) do @echo %~ti|FindStr /v "^%date%">nul && echo %i 
.... im Detail:
for %i in (*.xls) ........
= führe nacheinander für alle Dateien im aktuellen Verzeichnis %i, mit dem Dateinamen irgendwas.xls ...
do @echo %~ti
= .... mach mir eine Bildschirmausgabe des Datums %~ti der einzelnen Datei....
|FindStr /v "^%date%">nul
.... und pipe (das ist dieses Zeichen "|") = leite die Ausgabe direkt aus Input für den FindStr-Befehl weiter
... FindStr soll in dieser Ausgabe nach allen Zeilen suchen, die
....- NICHT (Parameter /v)
....- am Anfang der Zeile (Parameter ^)
... das aktuelle Datum %date%
...enthalten
&& echo %i
.... und wenn Du ein Dateidatum gefunden hast, das nicht von heute ist, gib den Dateinamen aus.

Du solltest (spätestens in einer Batch-Version) noch die Wildcad-Angabe *.xls um den konkreten Pfad ergänzen.
Also z.B. D:\Daten\Tabellen\*.xls oder wo-auch-immer deine Tabellen liegen.

Grüße
Biber
Bitte warten ..
Mitglied: 72114
21.11.2008 um 10:18 Uhr
Guten Morgen Biber,

danke für die Erklärung. Jetzt bin ich wieder ein Stück schlauer Leider bekomme ich bei der Ausführung des Befehls immer einen Syntaxfehler

Gruß

Alex
Bitte warten ..
Mitglied: 72114
21.11.2008 um 11:23 Uhr
So, um noch ein bisschen genauer zu werden ist hier mal der Quellcode. Kann man das so schreiben? Die Emailparameter kannst Du ignorieren. Die benötige dann später für blat.

REM Script zur Überprüfung des Änderungsdatum

REM Hier wir der Zielordner definiert
SET Zielordner=o:\allgemein\mis\_public\*.xls

REM Hier werden die Email-Parameter gesetzt
SET Sender=
SET Password=
SET SMTPServer=
SET Recipient=

REM Prüfung ob Erstellungsdatum ungleich heutigem Datum
for %%i in (%Zielordner%) do @echo %~ti|FindStr /v "^%date%">nul && echo %%i


Es öffnet sich kurz die Dosbox, aber sonst passiert nichts weiter.

In dem Ordner _public befinden sich XLS-Dateien von heute und gestern. Also sollte doch eigentlich in der Dosbox etwas zu sehen sein, oder?
Bitte warten ..
Mitglied: Biber
21.11.2008 um 11:47 Uhr
Moin Alex3103,

<OT>
....schon wieder November....
Zeit der Besinnung und der Rückblicke...
....ein kurzer Blick zurück:
  • Vor 100 Jahren: zu Beginn der so genannten "industriellen Revolution" wurden die Kotflügel erfunden.
  • Vor 50 Jahren: in fast allen Haushalten, in denen ein Keyboard existierte, wurde dieses ausschlißlich zum manuellen Erzeugen von Tanznusik genutzt
  • Vor 20 Jahren zu Beginn der "PC-Revolution" wurde als zeitgemäßes Äquivalent zu o.g. Kotflügeln die so genannte Codeformatierung flächendeckend verbreitet.

Details zu den Formatierungsmöglichkeiten siehe in unseren FAQ.
Soll heißen: Hey, wenn sogar ich meinen Kot formatieren kann, schaffst Du das auch.
</OT>

Back to Fred.

a) Im Batch müssen ALLE Prozentzeichen vor dynamischen Variablen ( die %i und %j und %k von FOR-Anweisungen verdoppelt werden. Das gilt auch für "abgeleitete dynamische Variablen wie %~i oder %~ti oder %~dpnxi.
Also Ersetze::
for %%i in (%Zielordner%) do @echo %~ti...
Durch:
for %%i in (%Zielordner%) do @echo %%~ti....

b) wenn ich das lese:
Es öffnet sich kurz die Dosbox, aber sonst passiert nichts weiter.
...dann bekomme ich immer meine Migräne
Wie testet ihr denn Batche? Per Doppelklick via Explorer?

Magst Du evtl mal versuchen, wie sich der Ablauf gestaltet, wenn Du die Proof-of-Concept-Phase von einem geöffneten CMD-Prompt ("Start"-"Ausführen"->cmd) aus durchführst?

Grüße
Biber
Bitte warten ..
Mitglied: 72114
21.11.2008 um 15:10 Uhr
Hey Biber!

Erstmal Entschuldigung, das ich Dich hier verärgert habe. Aber wie schon gesagt, außer durch Anmeldescripte habe ich noch nie etwas mit Batchprogrammierung zu tun gehabt. Ich habe das fehlende %-Zeichen ergänzt und ich bekomme nun das erhoffte Ergbnis in der Eingabeaufforderung. Nun geht´s für mich nur noch ans modifizieren (Ausgabe in eine Datei + verschicken per Email). Danke für Deine Hilfe. Ich hoffe, dass ich Dich nicht nochmal belästigen muss.

Alex3103
Bitte warten ..
Mitglied: Biber
21.11.2008 um 15:28 Uhr
Moin Alex,

keine Sorge, Du hast mich nicht verärgert oder belästigt....
Eigentlich bin ja ein gaaanz Ruhiger und Stiller.
(Gerade gestern hat mir mein Cheffe einen Taschenspiegel vor dem Mund gehalten, um festzustellen, ob da irgendetwas beschlägt).
Versuche bitte erstmal, über die Forumssuche weiterzukommen.
Aber wenn es klemmt.... einfach fragen.

Schönes Wochenende
Biber
Bitte warten ..
Ähnliche Inhalte
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

Datum vergleichen

gelöst Frage von Klaus20Batch & Shell11 Kommentare

Hallo Zusammen, vielleicht kann mir jemand (wie schon öfters) mir bei einer Abfrage helfen. Ich möchte gerne falls das ...

Batch & Shell

Xcopy mit aktuellem Datum

gelöst Frage von deniska93Batch & Shell1 Kommentar

Hallo liebes Forum, kann mir einer von Euch zufällig ein xcopy Script erstellen? Kenne mich mit xcopy leider nicht ...

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

Neue Wissensbeiträge
Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 6 StundenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Sicherheit

Zero Day-Schwachstelle im Internet Explorer - wird von APT bereits ausgenutzt

Information von kgborn vor 16 StundenSicherheit

Im Kernel des Internet Explorer scheint es eine Zero Day-Lücke zu geben, die von staatlichen Akteuren (APT) im Rahmen ...

Microsoft
Folder Security Viewer-Lizenzen zu gewinnen
Information von kgborn vor 16 StundenMicrosoft

Ich nehme das Thema mal in Absprache mit Frank hier auf, da es für den einen oder anderen Administrator ...

Hardware

Feueralarm killt Festplatten in Rechenzentrum - führt zu größerem Ausfall

Information von kgborn vor 16 StundenHardware11 Kommentare

Noch ein kleiner Beitrag für Administratoren, die in Rechenzentren aktiv sind - so als Fingerzeig. Denn es gibt Szenarien, ...

Heiß diskutierte Inhalte
Linux
Linux Server oder Windows Server - lohnt eine Umstellung auf Linux und ebenso basierende SW bei einer langfristigen Planung?
Frage von motus5Linux23 Kommentare

Wir brauchen bei uns einen neuen Server. Dieser wird als Fileserver, Domäne Controller sowie Exchange Server verwendet. Wir versuchen ...

DSL, VDSL
ISP Wechsel auf Vodefone Koax, Gebäudeverkabelung nur per Cat 7
gelöst Frage von wusa88DSL, VDSL18 Kommentare

Hallo Zusammen, ich bin momentan bei Mnet als Glasfaser Kunde und möchte Preis/Leistungs-Technisch zu Kabel Deutschland / Vodafone wechseln. ...

LAN, WAN, Wireless
Kommunikation zwischen verschiedenen IP-Bereichen
Frage von DirkHoLAN, WAN, Wireless13 Kommentare

Hallo zusammen, von Unitymedia habe ich ein neues Modem (Connect Box) erhalten, das u.a. IPv4 aber keinen Bridge Mode ...

Windows Server
Domänencontroller trennen
Frage von Akit57Windows Server13 Kommentare

Hallo, ich hoffe das mir hier jemand meine Frage trotz der spärlichen Informationen die ich geben kann beantworten kann: ...