downloader94
Goto Top

VBScript - Dateinamen (Nummer) einem Namen zuordnen

VBScript - Dateinamen (Nummer) einem Namen zuordnen

Hallo,

In einem Ordner sind bestimmte Dateien. Zuerst steht eine feste Nummer, dann ein Bindestrich und dann der Monat als 2 Zahlen und danach das Jahr als 2 Zahlen. Meine Frage wäre jetzt: Ist es auch möglich der festen Nummer einen Namen zuzuordnen (z.B. die Nummer 12345 hat den Namen Max) und den Monat als Wort und das Jahr mit 4 Zahlen (2009) als Nachicht auszugeben? Das soll nur nochmal zur Überprüfung sein, damit auch die Datei mit dem richtigen Monat genommen wird.
Danke im voraus.


Lg downloader94

Content-Key: 120702

Url: https://administrator.de/contentid/120702

Ausgedruckt am: 28.03.2024 um 23:03 Uhr

Mitglied: bastla
bastla 17.07.2009 um 16:22:57 Uhr
Goto Top
Hallo downloader94!

Die Antwort auf Deine Frage ist:
Vermutlich ja, zB mit einem Dictionary.

Sollte Dir das zu wenig konkret erscheinen, geht es Dir etwa so wie mir beim Lesen Deiner "Problembeschreibung" ...


da ich aber andererseits über ein gewisses Maß an Phantasie verfüge:
'Namensliste erstellen  
Set d = CreateObject("Scripting.Dictionary")  
d.Add "12345", "Max"  
d.Add "22345", "Moritz"  
d.Add "32345", "Hugo"  

'Woher auch immer der Dateiname kommt ...  
Dateiname = "12345-0709"  

'Zerlegen und (oberflächlich) prüfen  
N = Split(Dateiname, "-")  
If UBound(N) <> 1 Then
    WScript.Echo "Der Dateiname " & Dateiname & " entspricht nicht dem vorgegebenen Schema!"  
    WScript.Quit 1
End If

Nummer = N(0)
If Len(N(1)) <> 4 Then
    WScript.Echo "Der Datumsteil " & N(1) & " besteht nicht aus 4 Zeichen!"  
    WScript.Quit 2
End If

Monat = Left(N(1), 2)
Jahr = "20" & Mid(N(1), 3)  

If Not d.Exists(Nummer) Then
    WScript.Echo "Es wurde kein Name für die Nummer " & Nummer & " gefunden!"  
    WScript.Quit 3
End If

'Ausgabe Info  
WScript.Echo d.Item(Nummer) & ", " & Monthname(Monat) & " " & Jahr  
Grüße
bastla
Mitglied: downloader94
downloader94 21.07.2009 um 19:33:12 Uhr
Goto Top
Ich habe das kopiert, eingefügt und den Dateiname geändert und dann kommt diese Meldung:
Der Datei 0709.ebe enthält keine 4 Zeichen.
Ich vermute mal, das man da noch die Dateiendung ".ebe" entfernen muss, damit die Fehlermeldung nicht mehr kommt.

Lg Tim
Mitglied: Biber
Biber 21.07.2009 um 19:51:03 Uhr
Goto Top
Moin downloader,
Zitat von @downloader94:
Ich habe das kopiert, eingefügt und den Dateiname geändert
und dann kommt diese Meldung:
Der Datei 0709.ebe enthält keine 4 Zeichen.
Okay, es stimmt, bastla ist ziemlich belastbar und jetzt nach 10,75 Tagen Urlaub sicherlich noch mehr.
Und er wird auch seine Meldung "Der Datumsteil 0709.ebe besteht nicht aus 4 Zeichen!" ,
die auf Deinem vermutlich nicht professionell feinjustierten Bildschirm als "Der Datei 0709.ebe enthält keine 4 Zeichen." dargestellt wird, wiedererkennen.
Oder steht der Monitor möglicherweise in einem Pausenraum, der offiziell als Raucherzimmer ausgezeichnet ist?
Dann empfehle ich Glasreiniger.

Was mich interesssieren würde: Warum "bestellst" Du hier ein Rundum-Sorglos-Schlüsselfertig-Skript für die Namenskonvention
Zuerst steht eine feste Nummer, dann ein Bindestrich und dann der Monat als 2 Zahlen und danach das Jahr als 2 Zahlen.
...um es dann mit einer anderen Namenskonvention auszuprobieren (".ebe" angehängt)?

Ich vermute mal, das man da noch die Dateiendung ".ebe" entfernen muss, damit die Fehlermeldung nicht mehr kommt.
Ich vermute mal, dass Dir diese Aktion kein "man" aus diesem Forum abnehmen kann. Oder will.

Guckt ihr alle zu viele Nachmittags-Talkshows?

Manchmal verstehe ich, dass die Astronauten von Apollo 11 und anderen Mondlandeteams allesamt mit Depressionen zu kämpfen hatten, als sie wieder zurück im normalen Erd-Alltag zurück waren.

Grüße
Biber
Mitglied: bastla
bastla 21.07.2009 um 23:16:41 Uhr
Goto Top
@Biber
Warum "bestellst" Du hier ein Rundum-Sorglos-Schlüsselfertig-Skript für die Namenskonvention
...um es dann mit einer anderen Namenskonvention auszuprobieren (".ebe" angehängt)?
Es wird Dich kaum überraschen, dass sich meine Überraschung in Grenzen hält ...
@downloader94
Falls Du noch eine Zeile 9 kaufen willst ...
Dateiname = CreateObject("Scripting.FileSystemObject").GetBaseName(Dateiname)
Grüße
bastla