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-ID: 211703

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

Ausgedruckt am: 25.11.2024 um 23:11 Uhr

colinardo
colinardo 17.07.2013 um 12:28:23 Uhr
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
MrNetman
MrNetman 17.07.2013 um 12:31:40 Uhr
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
Cracymike
Cracymike 17.07.2013 um 13:02:35 Uhr
Goto Top
Danke jetzt hat es geklappt, Groß- Kleinschreibung kann ich vernachlässigen gibt nur Kleinschreibung , und das ß kommt auch nicht vor.