Top-Themen

Aktuelle Themen (A bis Z)

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

Mit VB Script Sonderzeichen in Datei und Ordnernamen umbenennen

Mitglied: SirMcFrosty

SirMcFrosty (Level 1) - Jetzt verbinden

19.02.2015 um 18:34 Uhr, 788 Aufrufe, 2 Kommentare

Folgendes Szenario:

Einige Datei und/oder Ordnernamen besitzen Sonderzeichen(-kombinationen) die nun geändert/umbenannt werden müssen

Beispiel:

Aus ""Geschäftsüberlassung" soll wieder "Geschäftsüberlassung" werden

Bastla schrieb 2007 dazu ein wunderbares VB script. Hierzu wäre eine kleine Erweiterung echt super. Und zwar das das script nun sowohl Datei als auch Ordnernamen umbenennt und dieses auch für alle Unterordner (und den darin befindlichen Dateien) des übergebenen Startordners.

Das Problem könnte sich wohl mit einer FOR /D /r schleife regeln lassen aber ich scheitere mangels Fachwissen an der Umsetzung.

Wäre super wenn mir da jemand helfen könnte und das script (siehe unten) anpasst.

01.
'RenameSpecial.vbs 
02.
Const sProtokoll = "C:\skript" 
03.
Const sSonder = "C:\skript\SonderzeichenErsetzung.txt" 
04.
 
05.
If WScript.Arguments.Count = 0 Then 
06.
	WScript.Echo "Ordner mit umzubenennenden Dateien als Parameter uebergeben!" 
07.
	WScript.Quit(1) 
08.
End If 
09.
Set fso = CreateObject("Scripting.FileSystemObject") 
10.
sFolder = WScript.Arguments(0) 
11.
If Not fso.FolderExists(sFolder) Then 
12.
	WScript.Echo sFolder & " ist keine gueltige Ordnerangabe!" 
13.
	WScript.Quit(1) 
14.
End If 
15.
 
16.
If Not fso.FileExists(sSonder) Then 
17.
	WScript.Echo "Sonderzeichendaten " & sSonder & " nicht gefunden." 
18.
	WScript.Quit(1) 
19.
End If 
20.
Set oSonder = fso.OpenTextFile(sSonder, 1) 
21.
If Not oSonder.AtEndOfStream Then  
22.
	aSonder = Split(oSonder.ReadAll, vbCrLF) 
23.
Else 
24.
	oSonder.Close 
25.
	WScript.Echo "Sonderzeichendatei " & sSonder & " enthält keine Daten!" 
26.
	WScript.Quit(1) 
27.
End If 
28.
oSonder.Close 
29.
 
30.
If Right(LCase(WScript.FullName), 11) = "cscript.exe" Then 
31.
	bConsole = True 
32.
Else 
33.
	bConsole = False 
34.
End If 
35.
 
36.
Set oProtokoll = fso.OpenTextFile(sProtokoll & "\" & Replace(Replace(sFolder, ":", ""), "\", "_") & "-Doppelt.txt", 2, True) 
37.
 
38.
Set oFolder = fso.GetFolder(sFolder) 
39.
For Each oFile In oFolder.Files 
40.
	sNameOld = Left(oFile.Name, InStrRev(oFile.Name, ".") - 1) 
41.
	sType = Mid(oFile.Name, InStrRev(oFile.Name, ".")) 
42.
	 
43.
	If bConsole Then WScript.Echo "Bearbeite: " & oFile.Name 
44.
	 
45.
	sNameNew = ReplaceSpecialChars(sNameOld) 
46.
	If Not fso.FileExists(oFile.ParentFolder & "\" & sNameNew & sType) Then 
47.
		oFile.Name = sNameNew & sType 
48.
	Else 
49.
		If sNameOld <> sNameNew Then oProtokoll.WriteLine oFile.Name 
50.
	End If 
51.
Next 
52.
oProtokoll.Close 
53.
 
54.
Function ReplaceSpecialChars(sOld) 
55.
sTemp = sOld 
56.
For Each sLine In aSonder 
57.
	aChars = Split(sLine, ",") 
58.
	For i = 1 To UBound(aChars) 
59.
		sTemp = Replace(sTemp, aChars(i), aChars(0)) 
60.
	Next 
61.
Next 
62.
ReplaceSpecialChars = sTemp 
63.
End Function
Benötigt wird dazu die Datei "SonderzeichenErsetzung.txt" (siehe Zeile "Const sSonder = ...") mit folgendem Inhalt:

01.
A,Á,%C1,Á,À,%C0,À,Â,%C2,Â,Ã,%C3,à
02.
a,á,%E1,á,à,%E0,à,â,%E2,â,ã,%E3,ã 
03.
Ae,Ä,%C4,Ä 
04.
ae,ä,%E4,ä 
05.
C,Ç,%C7,Ç 
06.
c,ç,%E7,ç 
07.
E,É,%C9,É,È,%C8,È,Ê,%CA,Ê 
08.
e,é,%E9,é,è,%E8,è,ê,%EA,ê 
09.
I,Í,%CD,Í,Ì,%CC,Ì 
10.
i,í,%ED,í,ì,%EC,ì 
11.
O,Õ,%D5,Õ,Ô,%D4,ÔÓ,%D3,Ó 
12.
o,õ,%F5,õ,ô,%F4,ôó,%F3,ó 
13.
Oe,Ö,%D6,Ö 
14.
oe,ö,%F6,ö 
15.
U,Ú,%DA,Ú 
16.
u,ú,%FA,ú 
17.
Ue,Ü,%DC,Ü 
18.
ue,ü,%FC,ü
Am Beginn jeder Zeile steht der Ersatztext, dahinter (durch Kommata getrennt) die zu ersetzenden Zeichen(-folgen).

Das Script erwartet die Übergabe des zu bearbeitenden Ordners und erstellt für jene Dateien, welche (wegen daraus resultierender Namensgleichheit mit bereits vorhandenen Dateien) nicht umbenannt werden können, im in der ersten "Const"-Zeile festgelegten Ordner eine Protokolldatei (Benennung mit dem Pfad des Ordners, wobei ":" entfernt und "\" durch "_" ersetzt wird - also würde für den Ordner "D:\Daten\Test" die Protokolldatei "D_Daten_Test-Doppelt.txt" heißen).

Wenn Du das Script von der Kommandozeile ausführst (zB mit
01.
cscript //nologo C:\skript\RenameSpecial.vbs "D:\Daten\Test"
wird im CMD-Fenster die jeweils bearbeitete Datei angezeigt (weswegen ich diese Startart empfehlen würde), startetst Du per Drag&Drop (des Ordners auf die Scriptdatei) kann diese Anzeige nicht (sinnvoll) erfolgen.

(Code by Bastla)
Mitglied: bastla
19.02.2015 um 19:27 Uhr
Hallo SirMcFrosty!

Nur mal auf die Schnelle: Das "for /d /r" wäre für den Aufruf des Scripts in CMD einzusetzen - damit könnten zumindest schon mal alle Dateien im Startordner und unterhalb bearbeitet werden; ungetestet etwa so:
for /d /r "D:\Daten\Test" %i in (*) do cscript //nologo C:\skript\RenameSpecial.vbs "%i"
Grüße
bastla
Bitte warten ..
Mitglied: SirMcFrosty
19.02.2015 um 23:43 Uhr
Danke bastla schonmal vorab. Dein Tip war schon mal ein Anfang.

Mit dem Aufruf des scripts durch deine FOR Schleife benennt es zwar Dateien aus den Unterordnern um aber nicht die im Startordner. Eine Umbenennung der Ordnernamen selbst findet natürlich script bedingt nicht statt.

Wäre super wenn jemand das ganze im script selbst noch vollständig umsetzen könnte (das schöne ist es lässt sich ja für recht viele diverse Umbennenungsprobleme nutzen dann)
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Umbenennen von Dateien mit Ordnernamen und Unterordner

gelöst Frage von Xaero1982Batch & Shell10 Kommentare

Moin Zusammen, folgendes Problem: Ich habe einen Ordner. Nennen wir ihn "Fotos" In diesem Ordner sind dann Zig Unterordner ...

Batch & Shell

Dateien gleich Ordnernamen umbenennen (auch in allen Unterordnern)

gelöst Frage von OOmatrixOOBatch & Shell14 Kommentare

Hallo. Ich möchte in einem speziellen Ordner in ALLEN Unterordnern ALLE Dateien nach ihren Ordnernamen umbenennen. Ich habe mir ...

Batch & Shell

Umbenennen von Ordnernamen (anhand von Zeitstempel)

gelöst Frage von Zero90Batch & Shell7 Kommentare

Hallo, Es ist mal wieder so weit. Ich brauch wieder mal eure Hilfe. Momentan versuche ich eine Batch zu ...

Batch & Shell

Ordnerinhalt mit Ordnernamen umbenennen

gelöst Frage von RotnasenkaterBatch & Shell5 Kommentare

Servus, liebe Gemeinde! Ich habe ein kleines Anliegen und keienrlei Ahnung von Batch-Programmierung, deswegen hoffe ich auf Hilfe von ...

Neue Wissensbeiträge
Sicherheit
Sicherheitsrisiko: Die Krux mit 7-Zip
Information von kgborn vor 1 StundeSicherheit

Bei vielen Anwendern ist das Tool 7-Zip zum Entpacken von Archivdateien im Einsatz. Die Software ist kostenlos und steht ...

Internet

Datendealing im WWW Tracking Methoden immer brutaler

Information von sabines vor 10 StundenInternet

Interessanter Artikel zum Thema Tracking im WWW und die immer "besseren" Methoden des Trackings. Professor Arvind Narayanan (Princeton-Universität) betreibt ...

Erkennung und -Abwehr

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Information von kgborn vor 22 StundenErkennung und -Abwehr

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, ...

Windows 10

Windows 10 on ARM: von Microsoft entfernte Info - Klartext, was nicht geht

Information von kgborn vor 1 TagWindows 10

Windows 10 on ARM ist ja eine neue Variante, die Microsoft im Verbund mit Geräteherstellern am Markt etablieren will. ...

Heiß diskutierte Inhalte
Server
Route-Befehl Unterstützung (unter CMD)
gelöst Frage von FKRR56Server36 Kommentare

Guten Tag , i.M. habe ich Probleme über den CMD-Route-Befehl ein Routing auf einen entfernten Server zuzulassen. Der Server ...

Windows 10
Windows 10 (1709) Tastur und Maus wieder einschalten?
Frage von LochkartenstanzerWindows 1028 Kommentare

Moin, Ich habe von einem Kunden einen Win10-Rechner bekommen, bei dem weder Tastatur noch Maus geht. Die Hardware funktioniert ...

Microsoft
TV-Tipp: Das Microsoft-Dilemma
Information von kgbornMicrosoft17 Kommentare

Aktuell gibt es in Behörden und in Firmen eine fatale Abhängigkeit von Microsoft und dessen Produkten. Planlos agieren die ...

Firewall
RB2011 Firewall Rule eine bestimmte Mac oder IP Adresse nicht zu blockieren
Frage von lightmanFirewall15 Kommentare

Hallo liebes Forum mit ihren Spezialisten. Ich habe meine Firewall so konfiguriert das kein Endgerät ohne meine Speziellen Erlaubnis ...