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

Printed on: April 23, 2024 at 15:04 o'clock

Member: bastla
bastla Jul 17, 2009 at 14:22:57 (UTC)
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
Member: downloader94
downloader94 Jul 21, 2009 at 17:33:12 (UTC)
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
Member: Biber
Biber Jul 21, 2009 at 17:51:03 (UTC)
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
Member: bastla
bastla Jul 21, 2009 at 21:16:41 (UTC)
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