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 - Uhrzeit einer Datei liegt x Zeit zurück

Mitglied: Webbi

Webbi (Level 1) - Jetzt verbinden

08.11.2007, aktualisiert 12.11.2007, 4620 Aufrufe, 6 Kommentare

Hallo

Ich möchte ein Script erstellen, was alle 10 Minuten nachschaut, ob eine Datei in einem Ordner ist, die älter als XX Minuten schon im Ordner ist.

Quasi eine eMail-Benachrichtigung:


Hallo

Im Ordner ABC sind X Dateien vorhanden, die schon länger als Y Minuten da sind.

Hier ist die Dateiliste:
1. Name, Datum, Uhrzeit
2. Name, Datum, Uhrzeit
3. Name, Datum, Uhrzeit
...

Bitte Informieren Sie die ensprechenden Personen.

MfG

Webbi


Den Inhalt der Datei will ich gar nicht wissen, da diese teilweise die Seiten "sprengen" würden.

Die Zeit müsste im Script eine Variable sein, da ich noch nicht genau weiss, wie wir mit der Zeit hinkommen.

Hier mal ein älteres Script (mit Eurer Hilfe) - Vielleicht kann man das ja gebrauchen:
01.
@echo off & setlocal 
02.
Set "Quell=C:\Inetpub\ftproot\ORDNER\OUT\" 
03.
 
04.
Set message=FI-FEHLER am %date% um %time% entdeckt 
05.
Set "HINWEISTEXT02=Hallo" 
06.
Set "HINWEISTEXT03=Die Datein im OUT-Ordner gehen wieder nicht in SAP" 
07.
Set "HINWEISTEXT04=" 
08.
Set "HINWEISTEXT05=" 
09.
Set "HINWEISTEXT06=" 
10.
Set "HINWEISTEXT07=" 
11.
Set "HINWEISTEXT08=" 
12.
Set "HINWEISTEXT09=MfG Webbi" 
13.
Set "HINWEISTEXT10=--------------------------" 
14.
set /a Anzahl=0 
15.
Set "change=INSERT" 
16.
set "bodytemp=%Quell%bodytemp.txt" 
17.
set "body=%Quell%body.txt" 
18.
if exist "%bodytemp%" del "%bodytemp%" 
19.
for /f "delims=" %%i in ('dir /b /od "%Quell%FI_*.*"') do call :ProcessLine "%Quell%%%i" 
20.
echo Es sind wieder Dateien da, die nicht in SAP rübergehen: %Anzahl% !>"%body%" 
21.
echo.>>"%body%" 
22.
type "%bodytemp%">>"%body%" 
23.
echo.>>"%body%" 
24.
echo %hinweistext02%>>"%body%" 
25.
echo %hinweistext09%>>"%body%" 
26.
if NOT "%Anzahl%"=="0" c:\batch\Blat\blat.exe "%body%" -to EMAIL -server SERVER -subject "%message%" 
27.
 
28.
del "%bodytemp%" 
29.
del "%body%" 
30.
goto :eof 
31.
:ProcessLine 
32.
for /f "delims=" %%i in ('type %1') do set zeichen=%%i & echo ausgelesen [%%i] 
33.
 
34.
set /a Anzahl+=1 
35.
goto :eof
Mitglied: bastla
08.11.2007 um 12:04 Uhr
Hallo Webbi1976!

Falls Du auch externe Tools einsetzen kannst, wäre Horst Schaeffer's "WasFile" zu empfehlen - eine Liste aller Dateien mit einem Änderungszeitpunkt von vor weniger als 10 Minuten erhältst Du zB mit folgender Eingabe (direkt an der Kommandozeile):
01.
for %i in (D:\Test\*.*) do @C:\Tools\wasfile "%i" modified after now-10 && @echo %i, %~ti
Grüße
bastla

P.S.: Für das Einbauen in den obigen Code habe ich im Moment leider keine Zeit.
Bitte warten ..
Mitglied: Webbi
08.11.2007 um 16:15 Uhr
Hallo

Erst einmal vielen Dank für die Hilfe.

Komme leider nicht weiter. Habe das schon in verschiedene Zeilen versucht einzubringen.
Leider ohne Erfolg.

Vielleicht hat da noch jemand eine Idee.

Webbi
Bitte warten ..
Mitglied: bastla
08.11.2007 um 17:11 Uhr
Hallo Webbi1976!

Ungetesteter Entwurf:
01.
@echo off & setlocal 
02.
Set "Quell=C:\Inetpub\ftproot\ORDNER\OUT\" 
03.
Set Min=10 
04.
 
05.
set "bodytemp=%temp%\bodytemp.txt" 
06.
set "body=%temp%\body.txt" 
07.
 
08.
if exist "%bodytemp%" del "%bodytemp%" 
09.
for %%i in ("%Quell%*.*") do C:\batch\wasfile\wasfile.exe "%%i" modified before now-%Min% && @echo %%i, %%~ti >>"%bodytemp%" 
10.
if not exist "%bodytemp%" goto :eof 
11.
 
12.
set "message=Alte Dateien (%date% um %time%)" 
13.
 
14.
for /f "delims=:" %%i in ('findstr /n . "%bodytemp%"') do set Anzahl=%%i 
15.
if not defined Anzahl goto :eof 
16.
 
17.
echo Hallo>"%body%" 
18.
echo.>>"%body%" 
19.
echo Der Ordner %Quell% enthaelt %Anzahl% Datei(en) mit einem Alter von mehr als %Min% Minuten:>>"%body%" 
20.
echo.>>"%body%" 
21.
findstr /n . "%bodytemp%">>"%body%" 
22.
echo.>>"%body%" 
23.
echo.>>"%body%" 
24.
echo MfG Webbi>>"%body%" 
25.
 
26.
c:\batch\Blat\blat.exe "%body%" -to EMAIL -server SERVER -subject "%message%" 
27.
 
28.
del "%bodytemp%" 
29.
del "%body%"
Bitte auch den Pfad "C:\batch\wasfile\wasfile.exe" anpassen ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
08.11.2007 um 19:16 Uhr
Moin Webbi,

falls Du den Einsatz der WasFile.exe scheuen solltest, ersetze den WasFile-Aufruf wie folgt

STATT der einen Zeile:
01.
for %%i in ("%Quell%*.*") do C:\batch\wasfile\wasfile.exe "%%i" modified before now-%Min% && @echo %%i, %%~ti >>"%bodytemp%"
SETZE zwei hausgemachte mit temporärem VBS an dieselbe Stelle im Source:
01.
echo Wscript.Quit ^(DateDiff^("N", WScript.Arguments^(0^), Now^) ^< %Min%^) >%temp%\ddMin.vbs 
02.
for %%i in ("%Quell%*.*") do cscript //nologo %temp%\DDmin.vbs "%%~ti" && @echo  %%i, %%~ti >>"%bodytemp%"
Macht sonst keinen Unterschied (denke ich).

Die eine Zeile VBS gibt einen ERRORLEVEL-Wert von 0 zurück, falls die auf 10-Minuten-oder-weniger-alt geprüfte Datei ÄLTER ist als 10 Minuten.
Nur in diesem Fall wird eine neue Zeile in Deine Mini-Log-Datei geschrieben.

Grüße Biber
Bitte warten ..
Mitglied: bastla
08.11.2007 um 19:27 Uhr
@Biber

VBS - darauf hätte ich eigentlich auch kommen können ...

Grüße
bastla
Bitte warten ..
Mitglied: Webbi
12.11.2007 um 08:23 Uhr
Hallo Biber, Hallo bastla

Mal wieder perfekt gelaufen.

Ich danke Euch - damit habt Ihr mir viel Arbeit bzw. Zeit erspart.

Herzlichen Dank noch einmal.

Webbi1976

PS: Dieser Beitrag gilt als gelöst!
Bitte warten ..
Ähnliche Inhalte
HTML
Datum und Uhrzeit als Vollbildanzeige
Frage von Fighter-01HTML7 Kommentare

Hallo an die Experten. Ich versuche eine Webseite zu erstellen, auf der das Datum und die Uhrzeit in Vollbild ...

Batch & Shell
In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen
gelöst Frage von HakiegoldBatch & Shell2 Kommentare

Ich habe ein kleines Problem. Ich importiere aus dem Internet per Batch alle 2 Minuten eine html-Datei mit Kursdaten. ...

Batch & Shell
Hilfe bei Skript - wenn eine Datei Datum x hat - alle löschen
Frage von paddy89Batch & Shell9 Kommentare

Hallo zusammen, ich bräuchte mal Unterstützung. Ich brauche ein Skript/Batch, was in einem Ordner Dateien nach Erstellungsdatum überprüft. Ist ...

Batch & Shell
Jüngste Datei suchen und Datum sowie Uhrzeit des letzten Zugriffs auslesen
Frage von HovawartBatch & Shell5 Kommentare

Hallo, habe hier eine Prüfroutine, die den Zeitstempel des letzten Zugriffs einer gegebenen Datenbankdatei mit dem Zeitstempel der letzten/neuesten ...

Neue Wissensbeiträge
Datenschutz

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

Information von magicteddy vor 3 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 8 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 ...

Tipps & Tricks

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

Tipp von StefanKittel vor 3 TagenTipps & Tricks

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

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement21 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 ...

SAN, NAS, DAS
Wer kennt sich mit QNAP und CISCO aus ?
gelöst Frage von MachelloSAN, NAS, DAS10 Kommentare

Hallo Zusammen hier im Forum, Ich habe ein QNas 451+ und dieses NAS hat zwei GBit Lan Adapter die ...

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