Davor Geschrieben 8. Dezember 2008 Teilen Geschrieben 8. Dezember 2008 Hallo zusammen, suche eine Lösung für folgendes Problem: Ich möchte ununterbrochen einen Ordner nach *.txt Dateien abfragen. Befindet sich eine solche txt Datei im Ordner, soll das Skript 5 Sekunden warten und dann einen Ordner (der automatisch existiert, sobald die txt Datei existiert), welcher den gleichen Namen hat verschieben. Also bsp.: Datei: 12345.txt zusammen mit Ordner "12345" nach D:\Backup verschieben. Habs mit AutoIT versucht, aber es scheint mir, als würde ich mit Kanonen auf Spatzen schießen :-) Geht das auch etwas einfacher per Batch o.ä.? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Gateway_man Geschrieben 8. Dezember 2008 Teilen Geschrieben 8. Dezember 2008 klar kannst du per batch Dateien kopieren, allerdings kannst du meines Wissens keine batch datei erstellen, die dir permanent eine bestimmte Datei sucht, es sei denn du packst da n loop am anfach der batch rein und unten nacht dem suchbefehl n goto loop.Muste ausprobieren. Die Befehle hab ich etz a nemmer bei der hand, öffne einfach n cmd fenster und gib help ein, dann kannste alle Befehle sehn!!! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Crash2001 Geschrieben 8. Dezember 2008 Teilen Geschrieben 8. Dezember 2008 (bearbeitet) Rein theoretisch geht das mit einer Batch-Datei, indem du einfach eine Schleife bastelst. Das Problem dabei ist nur, dass du das Fenster dann immer siehst (gut, kann mana uch im Hintergrund laufen lassen, aber evtl beendet es sich auch einmal von alleine und dann merkst du es nicht) und ich nicht weiss, ob das nicht evtl immer mehr Ressourcen frisst, weil kein Speicher wieder frei gegeben wird. Echte Cronjobs gibts ja leider unter Windows nicht. Es gibt aber sehr wohl ein zeitgesteuertes Aufrufen (geplante Tasks). Leider kann man einen Task da aber nur täglich einmal aufrufen lassen anstatt alle x Minuten oder Stunden laufen zu lassen, oder muss alternativ x Tasks erstellen. Du könntest dir aber Cygwin installieren (Linux-Kommandozeile für unter Windows) und den dort integrierten cron-Dämon nutzen. Der muss einmal installiert werden und soll dann angeblich problemlos laufen. Damit kann man dann alle x Minuten, Sekunden oder zu bestimmten Zeitpunkten einfach Cronjobs laufen lassen. Zusätzlich hast du auch noch einen Teil der bash zur verfügung, was doch einiges komfortabler ist als die CMD.exe... Bearbeitet 8. Dezember 2008 von Crash2001 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tester2k5 Geschrieben 10. Dezember 2008 Teilen Geschrieben 10. Dezember 2008 Ich würde hierfür VBScript bevorzugen. Bei einer Endlos-Schleife solltest du bedenken, wie du sie ggf. abbrechen kannst. Task-Manager? Anbei ein VBScript Beispiel: Option Explicit ' Set Folder to start Dim strFolder: strFolder = "D:\Projects\TEST" Dim objFSO: Set objFSO = CreateObject("Scripting.FileSystemObject") Dim objFolder: Set objFolder = objFSO.GetFolder(strFolder) ' Enumerate all Folders Dim Folder For Each Folder In objFolder.SubFolders 'WScript.Echo Folder.Name ' Enumerate all Files in Folder Dim File For Each File In Folder.Files 'WScript.Echo File.Name 'For each txt file with the same name as the folder it was found If File.Name = Folder.Name & ".txt" Then WScript.Echo File.Name & " found in:" & vbCrLf & Folder.Path WScript.Sleep 5000 WScript.Echo "Script will now proceed" End If Next Next WScript.Echo "Finish!" Gruss, tester2k5 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.