Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Datum - Uhrzeit einer Datei liegt x Zeit zurück

Frage Entwicklung Batch & Shell

Mitglied: Webbi1976

Webbi1976 (Level 1) - Jetzt verbinden

08.11.2007, aktualisiert 12.11.2007, 4537 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.

Mit freundlichen Grüßen

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=Mit freundlichen Grüßen 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: Webbi1976
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 Mit freundlichen Grüßen 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: Webbi1976
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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
Batch & Shell
gelöst In Html-Datei per Batchdatei das Datum und die Uhrzeit eintragen (2)

Frage von Hakiegold zum Thema Batch & Shell ...

VB for Applications
gelöst Mit VBA im Monatskalender Datum suchen - aus anderer Datei einfügen (6)

Frage von Otto1699 zum Thema VB for Applications ...

Batch & Shell
Datum in einer CSV datei in Tage umwandeln (13)

Frage von nolle99 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...