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, 1363 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
Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Statische Routen mit Shorewall, ISC-DHCP Server konfigurieren für Android Devices (25)

Frage von terminator zum Thema LAN, WAN, Wireless ...

Server
gelöst Wie erkennen, dass nur deutsche IPs Zugang zu einer Website haben? (22)

Frage von Coreknabe zum Thema Server ...

Hardware
16-20 Port POE Switch mit VLAN (19)

Frage von thomasreischer zum Thema Hardware ...

Windows Server
Exchange HyperV Prozessorlast (18)

Frage von theoberlin zum Thema Windows Server ...