Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dateinamen per Script anpassen

Frage Entwicklung Batch & Shell

Mitglied: Cracymike

Cracymike (Level 1) - Jetzt verbinden

17.07.2013 um 12:17 Uhr, 1375 Aufrufe, 3 Kommentare

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?

01.
 
02.
Set FS = CreateObject("Scripting.FileSystemObject") 
03.
StartOrdner = "17"  'Arbeitsplatz  
04.
Set Dateiauswahl = CreateObject("Shell.Application").BrowseForFolder(0,AuswahlTitel,16,StartOrdner)  
05.
set Ordner = Dateiauswahl.Self 
06.
Set folder =  FS.getfolder(Ordner.path) 
07.
 
08.
For Each FileName in Folder.Files 
09.
 
10.
if Left(right(FileName, 15), 1) <> " " then 
11.
	Prefix = Left(FileName, InStrRev(FileName, ".") - 11) 
12.
	Prefix2 = right(Left(FileName, InStrRev(FileName, ".") - 1),10) 
13.
	Postfix = Mid(FileName, InStrRev(FileName, ".")) 
14.
	NewName = Prefix & " " & Prefix2 & Postfix 
15.
 
16.
	If FS.FileExists(NewName) Then 
17.
       
18.
	Else 
19.
        FS.MoveFile FileName, NewName 
20.
		count = count + 1 
21.
	End If 
22.
 
23.
end if 
24.
 
25.
next 
26.
 
27.
For Each FileName in Folder.Files 
28.
    Alt = FileName 
29.
	Neu = FileName 
30.
    Neu = Replace(Neu, "ä", "ae") 
31.
    Neu = Replace(Neu, "ö", "oe") 
32.
    Neu = Replace(Neu, "ü", "ue") 
33.
     
34.
    If Alt <> Neu Then  
35.
        FS.MoveFile Alt, Neu  
36.
    End If  
37.
Next  
38.
 
39.
 
40.
msgbox "Aenderungen fuer Ordner:" & chr(13) & Ordner.path & chr(13) & "erledigt!" & chr(13) & count 
41.
 
42.
 
Schon mal im voraus Danke Danke Danke
Mitglied: colinardo
17.07.2013 um 12:28 Uhr
Hallo CracyMike,
kannst du z.B. so machen:
01.
    Neu = Replace(Neu, chr(228), "ae") 
02.
    Neu = Replace(Neu, chr(196), "Ae") 
03.
    Neu = Replace(Neu, chr(246), "oe") 
04.
    Neu = Replace(Neu, chr(214), "Oe") 
05.
    Neu = Replace(Neu, chr(252), "ue")  
06.
    Neu = Replace(Neu, chr(220), "Ue")
Grüße Uwe
gelöste Beitrage bitte auch als solche markieren.Danke
Bitte warten ..
Mitglied: MrNetman
17.07.2013 um 12:31 Uhr
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
Bitte warten ..
Mitglied: Cracymike
17.07.2013 um 13:02 Uhr
Danke jetzt hat es geklappt, Groß- Kleinschreibung kann ich vernachlässigen gibt nur Kleinschreibung , und das ß kommt auch nicht vor.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell-Script zum Prüfen ob Datei(en) existieren (2)

Frage von Bonsai0815 zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Skript für doppelte Dateinamen (1)

Frage von janelsaesser zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Server

Verschieben von Servergespeicherten Profilen an einen anderen Speicherort

Erfahrungsbericht von Enriqe zum Thema Windows Server ...

Windows 10

Plattformdienst für unbekannte Geräte (7023)

Tipp von KMUlife zum Thema Windows 10 ...

Administrator.de Feedback

Umgangsformen auf der Seite

(16)

Information von Frank zum Thema Administrator.de Feedback ...

Heiß diskutierte Inhalte
Windows Server
Windows Server Komplettspiegelung (16)

Frage von pdiddo zum Thema Windows Server ...

Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...