Hallo, unter Windows XP/7 möchte ich folgendes realisieren: Wenn seit > x Minuten keine neue Datei in einem bestimmten Ornder + dessen Unterordner angelegt wurde soll eine Benachrichtigung erfolgen. Benachrichtigung kann z.b. der einmalige Aufrud eines anderen Programms sein. Wie kann man das möglichst einfach nur mit Windows Hilfsmitteln (.bat datei?) realisieren? Danke CMD
Zyklisch (alle x Minuten) die Ausgabe von dir /a-d /od (zeigt nur Dateien, sortiert nach Zeit) auf die letzte Zeile mit einer Änderungszeit hin untersuchen. Das lässt sich mit ein paar Zeilen VBScript bewerkstelligen; der Interpreter dafür ist das mit Windows seit langem mitgelieferte cscript.exe
CMD schrieb: > Wie kann man das möglichst einfach nur mit Windows Hilfsmitteln (.bat > datei?) realisieren? .bat wird schwierige bwz. extrem umständlich. nimm ne beliebige bessere scriptsprache da geht das einfacher oder ein fertiges tool.
Hallo, so funktioniert das unter Windows7:
1 | @echo off |
2 | echo Ordnerstrukturen vergleichen, nach einer bestimmten Zeitspanne |
3 | for /L %%N IN (1, 1, 5) DO ( |
4 | if exist tree1.txt del tree1.txt > nul |
5 | if exist tree2.txt del tree2.txt > nul |
6 | tree > tree1.txt |
7 | timeout /T 10 |
8 | tree > tree2.txt |
9 | fc /b tree1.txt tree2.txt > nul |
10 | if errorlevel 1 C:\Windows\system32\calc.exe |
11 | ) |
12 | echo Programmende |
13 | echo. |
14 | pause |
Muss jetzt noch angepasst werden: -den Durchlauf der Schleife erhöhen (for ... 5mal) -die Zeitspanne erhöhen (timeout ... 10sec) -bei unterschiedlichen Ordnerstrukturen entsprechendes Programm starten (C:\ ... \calc.exe) oder Textausgabe (if errorlevel 1 echo unterschiedliche Dateien) Dann z.B. als "Ordnervergleich.bat" im entsprechenden Ordner abspeichern und ausführen.
Ich habe das mal vor einigen Jahren gemacht, weiss z.Zt. keine Details mehr, aber: Windows ab NT kann einen Event auslösen, wenn sich in einem Ordner etwas ändert. Muss man nur eine eigene Funktion einklinken ... https://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.changed%28v=vs.110%29.aspx
Frank E. schrieb: > Muss man nur eine eigene Funktion einklinken ... Das wird man in einer Batchdatei besonders gut können. Was Du da verlinkt hast, ist im übrigen das .Net-Geraffel, mit dem naturgemäß nur dessen Nutzer etwas anfangen können. Die dem zugrundeliegenden Win32-API-Funktionen FindFirstChangeNotification und FindNextChangeNotification werden hier beschrieben: https://msdn.microsoft.com/de-de/library/windows/desktop/aa365261%28v=vs.85%29.aspx Das Ergebnis dieser Funktionen ist ein Handle, auf das mit WaitForSingleObject/WaitForMultipleObjects gewartet werden kann.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.