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

Frage Entwicklung Batch & Shell

GELÖST

Dateien speziell sortieren VBS

Mitglied: deeboo

deeboo (Level 1) - Jetzt verbinden

24.02.2009, aktualisiert 16:27 Uhr, 5336 Aufrufe, 6 Kommentare

Jetzt wird es ein wenig hagelig.... ;)
Es sind alle gefragt, die sich mit VB-Script auskennen.

Ich habe einen Ordner in dem verschiedene Dateien folgendes Namenformat haben:

file.123 => erstellt am 19.02.2009
file.143 => erstellt am 20.02.2009
file.645 => erstellt am 23.02.2009

datei2.183 => erstellt am 19.02.2009
datei2.182 => erstellt am 20.02.2009
datei2.189 => erstellt am 23.02.2009

meine.183 => erstellt am 19.02.2009
meine.284 => erstellt am 20.02.2009
meine.543 => erstellt am 23.02.2009

Es gibt also immer Dateien, die gleich anfangen und jeweils verschiedene Dateiendungen haben. Das Erstellungsdatum ist auch verschieden.

Nun möchte ich alle Dateien in diesem Ordner nach >> "file.*; datei2.*; meine.*" << sortieren und davon jeweils von der entspr. neuesten Datei (file.645, datei2.189 & meine.543) den Dateinamen eine bestehende Logdatei schreiben lassen.
Leider habe ich schon zig Foren durchgeforstet und wurde nicht wirklich fündig.
Mag auch daran liegen, das ich nicht der VBS Hirsch bin.
Bin schonmal soweit, das ich "CreateObject" nutzen und irgend ein Pattern setzten muss.
Aber wie, ist mir schleierhaft.

LG
deeboo
Mitglied: bastla
24.02.2009 um 17:16 Uhr
Hallo deeboo!

Ich würde dafür eher einen Batch nehmen (in VBS sind es etwa doppelt soviele Zeilen ):
01.
@echo off & setlocal 
02.
set "Ordner=D:\Ein Ordner\" 
03.
set "Dateien=file datei2 meine" 
04.
set "Log=D:\Neueste.log" 
05.
 
06.
if exist "%Log%" del "%Log%" 
07.
for %%i in (%Dateien%) do call :ProcessFile "%%i" 
08.
goto :eof 
09.
 
10.
:ProcessFile 
11.
set N= 
12.
for /f "delims=" %%a in ('dir /b /on "%Ordner%%~1.*" 2^>nul') do set "N=%%a" 
13.
if defined N >>"%Log%" echo %N% 
14.
if not defined N >>"%Log%" echo Keine %1-Datei gefunden! 
15.
goto :eof
Bitte beachten: Die Ordnerangabe in Zeile 2 muss immer mit "\" enden.

Grüße
bastla
Bitte warten ..
Mitglied: deeboo
25.02.2009 um 11:55 Uhr
Hallo Bastla,

wie ich so mitbekommen habe, bist ja ein richtiger Scripthirsch.
Wollt mich vorerst für Deine Hilfe bedanken.

Die Batch funktioniert wunderbar.
Aber rein interessehalber.
Wie würde es denn ich VBS aussehen?

Wäre nett, wenn Du mir ein paar Steps auf den Weg gibst, wie ich am besten anfangen sollte bzw. ne Art "Roadmap".

Daher markiere ich es mal noch nicht als gelöst. (Auch wenn er mit dem Batchfile das tut, was er tun soll)

LG
deeboo
Bitte warten ..
Mitglied: bastla
25.02.2009 um 12:28 Uhr
Hallo deeboo!
ein richtiger Scripthirsch.
Ja, gib mir Tiernamen ...
Als VBS sähe es etwa so (leider habe ich momentan etwas weniger Zeit, daher nur die unkommentierte Fassung):
01.
Ordner = "D:\Ein Ordner" 
02.
Dateien = "file datei2 meine" 
03.
LogDatei = "D:\Neueste.log" 
04.
 
05.
Set fso = CreateObject("Scripting.FileSystemObject") 
06.
Set Folder = fso.GetFolder(Ordner) 
07.
DateiArten = Split(LCase(Dateien)) 
08.
 
09.
For Each DateiArt In DateiArten 
10.
    D = "" 
11.
    M = "000" 
12.
    For Each File In Folder.Files 
13.
        If LCase(fso.GetBaseName(File.Name)) = DateiArt Then 
14.
            Ext = fso.GetExtensionName(File.Name) 
15.
            If Ext > M Then 
16.
                D = File.Name 
17.
                M = Ext 
18.
            End If 
19.
        End If 
20.
    Next 
21.
    If D <> "" Then 
22.
        Res = Res & vbCrLF & D 
23.
    Else 
24.
        Res = Res & vbCrLF & "Es wurde keine """ & DateiArt & """-Datei gefunden!" 
25.
    End If 
26.
Next 
27.
 
28.
fso.CreateTextFile(LogDatei, True).Write Mid(Res, 3)
Grüße
bastla
Bitte warten ..
Mitglied: deeboo
27.02.2009 um 09:04 Uhr
Hat wunderbar geklappt. Haben es noch ein wenig modifiziert.
d.h. die Ausgabe in die Logdatei haben wir in ne Variable gepackt und können somit weiter arbeiten.

Ist also gelöst. Gib mir einfach mal deine Adresse, damit ich nen Kasten Bier zukommen lassen kann.

LG
deeboo
Bitte warten ..
Mitglied: bastla
27.02.2009 um 17:57 Uhr
Hallo deeboo!

Freut mich, wenn's Euch hilft ...

... und danke für das Angebot (obwohl Bier an mich vergeudet wäre - ich halte mich an: "Don't script and drink!" - und da scripte ich dann doch lieber ).

Grüße
bastla
Bitte warten ..
Mitglied: deeboo
02.03.2009 um 15:49 Uhr
Hallo Bastla,

ich häng mal noch ne kleine Frage an.
Wie kann ich jetzt nach createDate sortieren? Denn das sortieren nach Dateinamen funktioniert nicht so, wie ich es dachte. Denn jetzt komme ich in einen neune Versionsnummernbereich, wo wieder alles von 0 beginnt.

sprich:
002
001
999

Dabei ist aber 002 die aktuellste Datei. Jetzt, nach obigen Bsp, wäre es mit eine der ältesten....*grml*
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Dateien suchen, kopieren und sortieren
Frage von BAD1HORBatch & Shell6 Kommentare

Hallo, folgendes Problem: Dateien, die auf einem Laufwerk monatsweise in Ordnern abgelegt sind, sollen per Batch auf ein anderes ...

Batch & Shell
Dateien in alphabetische Ordner sortieren
gelöst Frage von symei3Batch & Shell10 Kommentare

Hallo Forumsgemeinde, leider habe ich sehr wenig Ahnung von Batchdateien etc. Deswegen wird meine Frage vermutlich nur ein leises ...

Batch & Shell
Eine Batch zum Sortieren verschiedener Dateien in Ordner
gelöst Frage von JaglagBatch & Shell16 Kommentare

Hallo, da ich leider mit Batch und shell nicht so erfahren bin hoffe das ein findiger User hier weiterhelfen ...

Batch & Shell
Via CMD Dateien in Ordner sortieren
gelöst Frage von tkt2208Batch & Shell10 Kommentare

Hallo zusammen, ich habe in einem Ordner sehr viele Dateien mit gleichem Namen die sich nur am Ende durch ...

Neue Wissensbeiträge
Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 1 TagLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Tipps & Tricks

Solutio Charly Updater Fehlermeldung: Das Abgleichen der Dateien in -Pfad- mit dem Datenobject ist fehlgeschlagen

Tipp von StefanKittel vor 2 TagenTipps & Tricks

Hallo, hier einmal als Tipp für alle unter Euch die mit der Zahnarztabrechnungssoftware Charly von Solutio zu tun haben. ...

Sicherheit

Meltdown und Spectre: Wir brauchen eine "Abwrackprämie", die die CPU-Hersteller bezahlen

Information von Frank vor 2 TagenSicherheit12 Kommentare

Zum aktuellen Thema Meltdown und Spectre: Ich wünsche mir von den CPU-Herstellern wie Intel, AMD oder ARM eine Art ...

Sicherheit

Meltdown und Spectre: Realitätscheck

Information von Frank vor 2 TagenSicherheit10 Kommentare

Die unangenehme Realität Der Prozessorfehler mit seinen Varianten Meltdown und Spectre ist seit Juni 2017 bekannt. Trotzdem sind immer ...

Heiß diskutierte Inhalte
Batch & Shell
Meltdown Microsoft Prüf Script - .zip Datei leider leer
gelöst Frage von MasterBlaster88Batch & Shell13 Kommentare

Hallo zusammen, ich patche gerade unsere Windows Server bzgl. der Meltdown Lücke. Patch vorhanden, Reg Keys gesetzt Um das ...

Batch & Shell
Shell-Skript - Syntax error: Unterminated quoted string
Frage von newit1Batch & Shell13 Kommentare

Hallo Ich schreibe ein Skript das eine CSV-Datei in eine mySQL Datenbank schieben soll. Bekomme nach start des Skrips ...

E-Mail
Erfahrungen mit hMailServer gesucht
Frage von it-fraggleE-Mail10 Kommentare

Hallo, meine neue Stelle möchte einen eigenen Mailserver. Ich als Linuxkind war direkt geistig mit Postfix dabei. Leider wollen ...

Entwicklung
VBS: alle PDF-Dateien in einem Ordner gleichzeitig öffnen
gelöst Frage von JuweeeEntwicklung9 Kommentare

Hallo, ich habe in deiner Ordnerstruktur (.\Tagesberichte\xx.18\) mehrere dynamische PDF-Formulare (mit LCD erstellt). Die Berichtsformulare sind im Layout alle ...