cracymike
Goto Top

Dateinamen per Script anpassen

Hallo ich habe ein Problem.

Mit folgendem Script möchte ich Dateinamen in einem Ordner Anpassen,
In der ersten For Schleife wird geprüft ob der Dateiname an einer bestimmten stelle ein Leerzeichen enthält das funktioniert auch problemlos,
die zweite For Schleife soll dann aus den Dateinamen die "ä,ö,ü" beseitigen und durch "ae,oe,ue" ersetze. Das funktioniert einfach nicht ich kann machen was ich will habe auch schon andere sachen getestet alles ohne erfolg. Was mach ich Falsch?

Set FS = CreateObject("Scripting.FileSystemObject")  
StartOrdner = "17"  'Arbeitsplatz   
Set Dateiauswahl = CreateObject("Shell.Application").BrowseForFolder(0,AuswahlTitel,16,StartOrdner)   
set Ordner = Dateiauswahl.Self
Set folder =  FS.getfolder(Ordner.path)

For Each FileName in Folder.Files

if Left(right(FileName, 15), 1) <> " " then  
	Prefix = Left(FileName, InStrRev(FileName, ".") - 11)  
	Prefix2 = right(Left(FileName, InStrRev(FileName, ".") - 1),10)  
	Postfix = Mid(FileName, InStrRev(FileName, "."))  
	NewName = Prefix & " " & Prefix2 & Postfix  

	If FS.FileExists(NewName) Then
      
	Else
        FS.MoveFile FileName, NewName
		count = count + 1
	End If

end if

next

For Each FileName in Folder.Files
    Alt = FileName
	Neu = FileName
    Neu = Replace(Neu, "ä", "ae")  
    Neu = Replace(Neu, "ö", "oe")  
    Neu = Replace(Neu, "ü", "ue")  
    
    If Alt <> Neu Then 
        FS.MoveFile Alt, Neu 
    End If 
Next 


msgbox "Aenderungen fuer Ordner:" & chr(13) & Ordner.path & chr(13) & "erledigt!" & chr(13) & count  

Schon mal im voraus Danke Danke Danke

Content-Key: 211703

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

Printed on: April 25, 2024 at 02:04 o'clock

Member: colinardo
colinardo Jul 17, 2013 at 10:28:23 (UTC)
Goto Top
Hallo CracyMike,
kannst du z.B. so machen:
    Neu = Replace(Neu, chr(228), "ae")  
    Neu = Replace(Neu, chr(196), "Ae")  
    Neu = Replace(Neu, chr(246), "oe")  
    Neu = Replace(Neu, chr(214), "Oe")  
    Neu = Replace(Neu, chr(252), "ue")   
    Neu = Replace(Neu, chr(220), "Ue")  
Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
Member: MrNetman
MrNetman Jul 17, 2013 at 10:31:40 (UTC)
Goto Top
Am eigenen Listing siehst du, das Format nicht stimmen kann. Ich wüsste auch nicht, was du willst.
Und dann gibt es noch die Groß- und Kleinschreibung und das ß.
Es gibt Codetabellen, die du sepiell nutzen musst.

30. Neu = Replace(Neu, "ä", "ae")
31. Neu = Replace(Neu, "ö", "oe")
32. Neu = Replace(Neu, "ü", "ue")

Gruß
Netman
Member: Cracymike
Cracymike Jul 17, 2013 at 11:02:35 (UTC)
Goto Top
Danke jetzt hat es geklappt, Groß- Kleinschreibung kann ich vernachlässigen gibt nur Kleinschreibung , und das ß kommt auch nicht vor.