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

gelöst Nach Erstellungsdatum Und Dateinamen sortieren

Mitglied: deeboo

deeboo (Level 1) - Jetzt verbinden

02.03.2009, aktualisiert 18.10.2012, 6334 Aufrufe, 5 Kommentare

Da der anderen Beitrag als Gelöst markiert ist, mach ich hier einen Neuen auf.

Bastla hatte mir einen schönen Code geliefert.

Problemstellung:
Viele viele Dateien mit folgendem Format:
File1.999
File1.998
File1.899

Diese sollen via VBS sortiert werden.

01.
For Each DateiArt In DateiArten 
02.
    D = "" 
03.
    M = "000" 
04.
    For Each File In Folder.Files 
05.
        If LCase(fso.GetBaseName(File.Name)) = DateiArt Then 
06.
            Ext = fso.GetExtensionName(File.Name) 
07.
 
08.
 
09.
    		If  Ext > M Then 
10.
                D = File.Name 
11.
                M = Ext 
12.
            End If 
13.
        End If 
14.
    Next 
15.
    If D <> "" Then 
16.
        Res = Res & vbCrLF & D 
17.
    Else 
18.
        Res = Res & vbCrLF & "Es wurde keine """ & DateiArt & """-Datei gefunden!" 
19.
    End If 
20.
Next
Klappt auch wunderbar.
Nur wird ja jetzt immer die "höchste" Datei ausgegeben, was ja im Grunde richtig ist.
Nur hat sich meine Problemstellung in so weit geändert, das jetzt ein "Versionssprung" bevorsteht.
d.h.
es kommt dann zu:
file1.001
file1.999
file1.998

Jetzt gibt er mir File1.999 als aktuelles File aus.
Ich müsste jetzt noch den Parameter objFile.DateCreated mit integrieren.
Bloß wo?
bei Ext = code..... klappts nicht.
Mitglied: bastla
02.03.2009 um 19:19 Uhr
Hallo deeboo!

Das sähe dann so aus (unter der Annahme, dass es genügen müsste, nach dem Erstellungsdatum - beinhaltet ja auch die Uhrzeit - zu sortieren):
01.
For Each DateiArt In DateiArten 
02.
    D = "" 
03.
    M = 0 
04.
    For Each File In Folder.Files 
05.
        If LCase(fso.GetBaseName(File.Name)) = DateiArt Then 
06.
    	    If  File.DateCreated > M Then 
07.
                D = File.Name 
08.
                M = File.DateCreated 
09.
            End If 
10.
        End If 
11.
    Next 
12.
    If D <> "" Then 
13.
        Res = Res & vbCrLF & D 
14.
    Else 
15.
        Res = Res & vbCrLF & "Es wurde keine """ & DateiArt & """-Datei gefunden!" 
16.
    End If 
17.
Next
[Edit]
Sollte übrigens tatsächlich gewünscht sein, alle an einem Tag erstellten Dateien nach dem Dateityp zu ordnen, dann so:
01.
For Each DateiArt In DateiArten 
02.
    D = "" 
03.
    M = "" 
04.
    For Each File In Folder.Files 
05.
        If LCase(fso.GetBaseName(File.Name)) = DateiArt Then 
06.
            DCr = File.DateCreated 
07.
            Dat = Mid(DCr,7,4) & Mid(DCr,3,2) & Left(DCr,2) 'erzeugt Datum im Format JJJJMMTT 
08.
            Ext = fso.GetExtensionName(File.Name) 
09.
            Kriterium = Dat & Ext 
10.
            If  Kriterium > M Then 
11.
                D = File.Name 
12.
                M = Kriterium 
13.
            End If 
14.
        End If 
15.
    Next 
16.
    If D <> "" Then 
17.
        Res = Res & vbCrLF & D 
18.
    Else 
19.
        Res = Res & vbCrLF & "Es wurde keine """ & DateiArt & """-Datei gefunden!" 
20.
    End If 
21.
Next
In diesem Fall wird nur das Erstellungsdatum (nicht auch die Uhrzeit) berücksichtigt.
[/Edit]
[OT]
Zwei Anmerkungen:
  • Einen als "gelöst" gekennzeichenten Beitrag kannst Du selbst (solange er nicht geschlossen ist) wieder auf "nicht gelöst" setzen.
  • Wenn Du nur das Bruchstück eines Codes postest, wird es für Hilfswillige unnötig aufwändig, die fehlenden Teile (für einen Test) selbst hinzuzufügen - auch wenn es, wie hier, nur um ein Array ("DateiArten") und ein Objekt ("Folder") geht. Zumindest ein Link auf den vorherigen Thread wäre angebracht gewesen ...
[/OT]

Grüße
bastla
Bitte warten ..
Mitglied: deeboo
03.03.2009, aktualisiert 18.10.2012
Hallo bastla.

Sorry.
Gelobe Besserung.
Werde das morgen mal testen.
01.
... 
02.
If  File.DateCreated > M Then 
03.
...
Hatte ich auch schon probiert. Aber scheinbar nicht richtig.
Werd morgen nochmal schauen. Jetzt ist Feierabend. ;)

P.S. Offtopic konnte zwar im gelösten posten. Dennoch war er als gelöst markiert. Und da schaut ,glaub ich, keiner so schnell wieder rein.
Aber zum Bezug für diejenigen, die sich auch einmal auf der Suche nach dieser oder einer ähnlichen Problemlösung hierher verirren.
https://www.administrator.de/forum/dateien-speziell-sortieren-vbs-109882 ...

Bis morgen.
lg
deeboo
Bitte warten ..
Mitglied: bastla
03.03.2009 um 07:09 Uhr
Hallo deeboo!

Die Anmerkung hinsichtlich "gelöst" war nicht als Aufforderung, sondern tatsächlich nur als Hinweis gedacht - die Einschätzung, ob eine solche Statusänderung zeitnah genug wäre, musst(est) Du natürlich selbst treffen ...
Zum Vergleich von "DateCreated" mit einer Variablen (hier: "M"): Da Datums- und Zeitwerte ja nur besonders interpretierte Zahlen darstellen, benötigst Du eine numerische Variable (daher oben M=0).

Grüße
bastla
Bitte warten ..
Mitglied: deeboo
03.03.2009 um 09:13 Uhr
War schon auf dem richtigen Weg. Hätte nur alles ändern müssen, nicht nur den einen Punkt. Siehe mein letzter Post.
Aber irgendwie klappt noch nicht so richtig. Er nimmt immer die File.002. Sehe aber auch grad den Fehler nicht.

Ich habe mir in meinen Ordner 3 Bsp. Dateien gelegt.

test.006 (Date modified: 3/2/2009 3:45 PM)
test.002 (Date modified: 3/3/2009 9:45 AM)
test.956 (Date modified: 3/1/2009 2:34 PM)

Und währendessen ich diesen Post schreibe, fällt mir auf, ich könnts ja mal mit: "DateLastModified" versuchen. *lol* Und siehe da.....

Werds mal weiter testen, bevor ich den Beitrag schliesse.
thx und einen guten Start in den Dienstag.
Bitte warten ..
Mitglied: deeboo
05.03.2009 um 10:00 Uhr
Danke Euch noch einmal. Hat alles wunderbar geklappt...

lg
deeboo
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Datein nach Erstellungsdatum in Unterornder verschieben

gelöst Frage von xyxy-yxBatch & Shell20 Kommentare

Hallo, ich möchte alle Dateien nach Erstellungsdatum in datumbenannte Unterordner kopieren und eventuell diesen auch erstellen, wenn er nicht ...

Batch & Shell

Datei nach Erstellungsdatum verschieben

Frage von Kugelschreiber1Batch & Shell2 Kommentare

Hallo, ich möchte über eine Batch-Datei Dateien, die älter als 20 Tage sind, in einen anderen Ordner verschieben. Dabei ...

VB for Applications

Dateien aus Ordnerstruktur in Textdatei schreiben, nach Dateinamen sortieren und zusätzlich in HTML in Tabellenform ausgeben

gelöst Frage von cbliVB for Applications6 Kommentare

Hallo An Allle Ich habe ein Script (hier nochmals vielen Dank an Bastla für die Hilfe) welches Dateien mit ...

Batch & Shell

Erstellungsdatum vor jede Zeile einer Textdatei schreiben

gelöst Frage von freakonaleashBatch & Shell5 Kommentare

Hallo zusammen, ich habe einen Ordner mit ganz vielen Textdateien. Ich bräuchte eine Batch, die in jede Datei vor ...

Neue Wissensbeiträge
Windows 10
Zero-Day-Lücke in Microsoft Edge
Information von kgborn vor 1 TagWindows 10

In Microsofts Edge-Browser klafft wohl eine nicht geschlossene (0-Day) Sicherheitslücke im Just In Time Compiler (JIT Compiler) für Javascript. ...

Sicherheit
Microsoft und Skype: Sicherheit
Information von kgborn vor 1 TagSicherheit

Die Tage gab es ja einige Berichte zur Sicherheit des Skype-Updaters. Der Updater von Skype läuft unter dem Konto ...

Datenschutz

Behörden ignorieren Sicherheitsbedenken gegenüber Windows 10

Information von Penny.Cilin vor 2 TagenDatenschutz8 Kommentare

Hallo, passend zum Thema Ablösung LIMUX in München ein Beitrag bei Heise (siehe Link folgend). Behörden ignorieren Sicherheitsbedenken gegenüber ...

Sicherheit
Information Security Hub Munich airport
Information von brammer vor 2 TagenSicherheit

Hallo, Neues Center für Cyber Kriminalität am Münchener Flughafen brammer

Heiß diskutierte Inhalte
DSL, VDSL
Mindestgeschwindigkeiten DSL Telekom
Frage von justlukasDSL, VDSL13 Kommentare

Hallo zusammen, Seit diesem Jahr habe ich Verständnisprobleme mit dem Verhalten der Telekom. Wir haben seit einem Jahr VDSL ...

Switche und Hubs
LANCOM-Switch: Probleme (no link) mit SFP-Modulen?
Frage von THETOBSwitche und Hubs10 Kommentare

Hi zusammen, ich habe folgendes Problem: Und zwar habe ich an einem Standort drei Switche verbaut - LANCOM GS-2326P+, ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall10 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...

Humor (lol)
Was könnte man mit einem Server machen? Idee gesucht
Frage von 2SeitenHumor (lol)8 Kommentare

Hey Zusammen Ich habe einen alten HP G2 Rackserver zu Hause rumliegen. 28GB Ram, 1xAMD Prozi mit etwa 2GHz. ...