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

Änderungsdatum einer Datei prüfen und Mail senden

Frage Entwicklung Batch & Shell

Mitglied: webman123

webman123 (Level 1) - Jetzt verbinden

04.10.2012 um 10:15 Uhr, 3165 Aufrufe, 3 Kommentare

Hi,

ich habe diese Script http://www.administrator.de/contentid/87259 etwas angepasst für das was ich prüfen will.

Folgendes soll gemacht werden:

Es sollten jeden Tag von Montag – Samstag in den einzelnen Unterordnern zu den Standorten eine Datei geschrieben werden.

Die Dateien werden pro Tag überschrieben. Somit müsste geprüft werden, ob die Datei von heute ist.

Der Aufbau ist so:

- Standort 1
- 01-Montag -> standort1.txt
- 02-Dienstag -> standort1.txt
- 03-Mittwoch -> standort1.txt
- 04-Donnerstag -> standort1.txt
- 05-Freitag -> standort1.txt
- 06-Samstag -> standort1.txt
- Standort 2
- 01-Montag -> standort2.txt
- 02-Dienstag -> standort2.txt
- 03-Mittwoch -> standort2.txt
- 04-Donnerstag -> standort2.txt
- 05-Freitag -> standort2.txt
- 06-Samstag -> standort2.txt

Es sind 15 Standorte so abzufragen und eine Mail zu verschicken, wenn

- Datei vorhanden und von heute -> Datei erfolgreich erstellt
- Datei vorhanden aber nicht von heute -> Datei nicht erfolgreich erstellt
- Datei nicht vorhanden ist -> Diesen Fall kann es eigentlich nicht geben, da die Datei nicht gelöscht wird sondern nur neu erstellt wird.

Dies funktioniert auch so mit dem so angepassten Script welches dann aber extrem lang werden würde, wenn ich nun alle Dateien damit abfragen will.

Wie kann ich das Script so anspassen, damit ich die Abfrage nur ein einziges Mal im Script habe und nicht für jede Datei?



REM Script zur Überprüfung des Änderungsdatums einer Datei. Ist das Datum
REM älter als Heute -x wird eine Mail versendet
REM



REM Hier wird die Zieldatei definiert:
REM ----------------------------------
SET Zieldatei=C:\Standort1\01-Montag\standort1.txt
SET Zieldatei1=C:\Standort1\02-Dienstag\standort1.txt
REM Hier wird die Dauer in Tagen angegeben, innerhalb der eine Änderung
REM innerhalb dieser Datei stattgefunden haben muss:
SET LastModified=0


REM Hier werden die E-Mail-Parameter gesetzt:
REM -----------------------------------------
SET Sender=server@maildomaene
SET SMTPServer=smtp.server
SET Recipient=user@maildomaene


REM Schreibe aktuelles Datum in Log >> log.txt
ECHO Aktuelles Datum: > log.txt
Date /t >> log.txt
ECHO ------------------ >> log.txt
Echo Aktuelle Uhrzeit: >> log.txt
Time /t >> log.txt


REM Prüfung, ob die Datei existiert
IF NOT EXIST %Zieldatei% GOTO :FILEDOESNOTEXIST

WasFile %Zieldatei% modified sametime today-%LastModified% >> log.txt
if not errorlevel 1 goto TRUE >> log.txt


:LASTMODIFICATION >> log.txt
ECHO
>> log.txt
ECHO Datei %Zieldatei% wurde heute nicht verändert / erstellt >> log.txt
ECHO
>> log.txt


GOTO :Zieldatei1-Pruefung

:TRUE
ECHO
>> log.txt
ECHO Datei %Zieldatei% wurde heute verändert / erstellt >> log.txt
ECHO
>> log.txt

GOTO :Zieldatei1-Pruefung

:ERROR
ECHO Datei nicht gefunden
GOTO :Zieldatei1-Pruefung

:FILEDOESNOTEXIST
ECHO
>> log.txt
ECHO Die Datei %Zieldatei% existiert nicht oder kann nicht aufgerufen werden >> log.txt
ECHO
>> log.txt



:Zieldatei1-Pruefung

REM Prüfung, ob die Datei existiert
IF NOT EXIST %Zieldatei1% GOTO :FILEDOESNOTEXIST

WasFile %Zieldatei1% modified sametime today-%LastModified% >> log.txt
if not errorlevel 1 goto TRUE >> log.txt


:LASTMODIFICATION >> log.txt
ECHO
>> log.txt
ECHO Datei %Zieldatei1% wurde heute nicht verändert / erstellt >> log.txt
ECHO
>> log.txt

blat.exe "log.txt" -html -to %Recipient% -subject "Status OK" -Server %SMTPServer% -f %Sender%

EXIT

:TRUE
ECHO
>> log.txt
ECHO Datei %Zieldatei1% wurde heute verändert / erstellt >> log.txt
ECHO
>> log.txt

blat.exe "log.txt" -html -to %Recipient% -subject "Status nicht OK" -Server %SMTPServer% -f %Sender%

EXIT

:ERROR
ECHO Datei nicht gefunden
EXIT

:FILEDOESNOTEXIST
ECHO
>> log.txt
ECHO Die Datei %Zieldatei1% existiert nicht oder kann nicht aufgerufen werden >> log.txt
ECHO
>> log.txt

blat.exe "log.txt" -html -to %Recipient% -subject "Datei nicht vorhanden" -Server %SMTPServer% -f %Sender%

EXIT



cu
Mitglied: pieh-ejdsch
04.10.2012, aktualisiert um 16:21 Uhr
moin,

Bitte Codetags setzten. Wie man einen neuen Beitrag erstellt und Bilder hinzufügt


Test Auf der CMD-Line:
>    >"D:\Verschickmich.txt" (for /l %i in (1 1 15 ) do @echo(&echo Standort %i &dir /s C:\Standort%i\standort%i.txt |findstr /b [0-9] |findstr /b %date% ||echo Standort %i: Heute noch keine Datei erstellt!) && type "D:\Verschickmich.txt"
Gruß Phil
Bitte warten ..
Mitglied: webman123
05.10.2012 um 07:14 Uhr
Hi Phil,

danke für die Antwort.

Für was ist die Datei "D:\Verschickmich.txt"? Muss diese schon bestehen?

cu
Bitte warten ..
Mitglied: pieh-ejdsch
05.10.2012 um 11:49 Uhr
moin webman123,

Ja was suggeriert Dir denn der Name der Datei?
Die Datei muss nicht bestehen - Der Zielpfad sollte aber existieren.
Es wird ja auch die ganze Standartausgabe der Forschleife in diese Datei hineingeschrieben.
Umleitung
Übersicht
Befehlszeilenreferenz A-Z

Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Outlook & Mail
Outlook - zu erwartende Mails prüfen
gelöst Frage von qnaal1Outlook & Mail6 Kommentare

Hallo Admins, in meinem ersten Post versuche von euch Ideen zu bekommen wie man in Outlook mit Emails umgeht ...

Batch & Shell
In Batch auf Erstelldatum einer Datei prüfen
gelöst Frage von AS-N00Batch & Shell5 Kommentare

Hallo, foolgendes Problem. Ich muss eine leer Datei "dpd.ini" in "d:\bw50" erstellen, wenn in einem Ordner "d:\bw50\dpd\export\" es keine ...

E-Mail
Mail Senden über Telnet
gelöst Frage von mexxE-Mail7 Kommentare

Hallo, ich betreibe einen eigenen Mailserver hinter einer festen IP. Wenn ich per Client wie Thunderbird oder emClient den ...

Windows 7
Dateiordner Änderungsdatum
gelöst Frage von BergEnteWindows 78 Kommentare

Hallo Forum, auf einem Windows 7 SP1 Pro PC, alle Updates, liegt in einem Ordner ein Word Dokument. Wenn ...

Neue Wissensbeiträge
Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 1 StundeTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 1 StundeSicherheit4 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 StundenSicherheit3 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Sicherheit

Meltdown und Spectre: Die machen uns alle was vor

Information von Frank vor 3 StundenSicherheit10 Kommentare

Aktuell sieht es in den Medien so aus, als hätten die Hersteller wie Intel, Microsoft und Co den aktuellen ...

Heiß diskutierte Inhalte
Batch & Shell
Anmeldevorgang für Informatikraum (Schule) unter Windows
gelöst Frage von IngenieursBatch & Shell29 Kommentare

Hey zusammen, ich werde in naher Zukunft den Informatik Raum meiner jetzigen Schule von dem aktuellen Betreiber übernehmen (Vertrag ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von 92943Windows 1027 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Netzwerkgrundlagen
Welches Modem für VDSL 50000 der T-Com
Frage von Windows10GegnerNetzwerkgrundlagen19 Kommentare

Hallo, ein Kollege von mir will sich VDSL50000 von der T-Com holen, um daran einen Server zu betreiben. Ich ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...