Computer Hardware Forum - TweakPC

Computer Hardware Forum - TweakPC (https://www.tweakpc.de/forum/)
-   Programmiersprachen (https://www.tweakpc.de/forum/programmiersprachen/)
-   -   VBScipt For each (https://www.tweakpc.de/forum/programmiersprachen/84100-vbscipt-for-each.html)

mceck 24.10.2011 14:47

VBScipt For each
 
Moin zusammen,

ich habe ein kleines Problem bei meinem VBScript (Auszug ohne Variablendeklaration etc)

[CODE]Set SourceObj = fso.GetFolder(SOURCE)
For Each fileObj in SourceObj.Files
If LCase(Right(fileObj.Name, 4)) = FILEEXT Then
LOG.WriteLine(Now() & Chr(9) & " copy " & fileObj.Name & " to " & BUFFER)
fileObj.Copy (BUFFER)
LOG.WriteLine(Now() & Chr(9) & " move " & fileObj.Name & " to " & BACKUP)
fileObj.Move (BACKUP)
End If
Next[/CODE]

Das Script verarbeitet alle Dateien, die in SOURCE liegen, in alphabetischer Reihenfolge. So weit, so gut.

Allerdings hätte ich es gerne, dass die Dateien nach Sortierung "Alter" verarbeitet werden (älteste zuerst).

Gibt es da eine einfach Möglichkeit in Verbindung mit "for each", oder muss ich da mit anderen Befehlen arbeiten? Evtl. Dateiliste + Modify-Zeit in ein Array schreiben, und das dann nach Zeit sortieren?

Gruß, mceck

Tweak-IT 25.10.2011 10:27

AW: VBScipt For each
 
Hier wäre die Lösung für Ordner:

[url=http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/filesfolders/folders/#EnumFoldersUsingDates.htm]Scripting Files and Folders using VBScript[/url]

Das sollte doch auf dein Problem umstrickbar sein ohne größere Probleme.

mceck 25.10.2011 19:36

AW: VBScipt For each
 
Danke dir, werd ich mir die Tage auf Arbeit mal genauer anschauen.
Aber laut Beschreibung wird nicht die Sortierung geändert, sondern einfach nur alles ausgefiltert, was älter als "Datum" ist.

Exit 26.10.2011 07:16

AW: VBScipt For each
 
Du wirst vermutlich keinen direkten Einfluss auf die Bearbeitungsreihenfolge haben.

Wenn Du sowas brauchst, muss Du wie beschrieben die Daten (Dateinamen + Änderungstimestamp) in ein Array schreiben und dieses dann nach dem Änderungstimestamp sortieren.

Dann kannste durch dieses iterieren, und die Dateien anhand der Dateinamen identifizieren und in den Backup Ordner verschieben (oder was auch immer).


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 Uhr.

Powered by vBulletin® Version 3.8.10 (Deutsch)
Copyright ©2000 - 2026, vBulletin Solutions, Inc.
SEO by vBSEO 3.5.2 ©2010, Crawlability, Inc.