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

gelöst Mit VB Script Sonderzeichen entfernen die 2.

Mitglied: Cadsys-Chemnitz

Cadsys-Chemnitz (Level 1) - Jetzt verbinden

20.05.2009, aktualisiert 09:23 Uhr, 6666 Aufrufe, 7 Kommentare

Wie Bastla in dem Thread unter dem Link:

https://www.administrator.de/index.php?content=73180#283532

beschrieben hat habe ich auch bei mir die Konvertierung umgesetzt.. Erstmal Danke auach von mir an Bastla.

Ich brauche dazu aber das ganze nicht nur für Dateien in diesem Ordner sondern auch für Dateien in Unterordnern und den Ordnernamen und Unterordnernamen selbst.

Hab schon bissl rumprobiert aber er springt nicht in unterordner, bzw wenn ich einen Ordner umbennen lassen konvertiert er mir die Dateien darin nicht mehr.

hier nochmal das Originalscript von Bastla.

01.

02.
'RenameSpecial.vbs
03.
Const sProtokoll = "C:\skript"
04.
Const sSonder = "C:\skript\SonderzeichenErsetzung.txt"
05.

06.
If WScript.Arguments.Count = 0 Then
07.
	WScript.Echo "Ordner mit umzubenennenden Dateien als Parameter uebergeben!"
08.
	WScript.Quit(1)
09.
End If
10.
Set fso = CreateObject("Scripting.FileSystemObject")
11.
sFolder = WScript.Arguments(0)
12.
If Not fso.FolderExists(sFolder) Then
13.
	WScript.Echo sFolder & " ist keine gueltige Ordnerangabe!"
14.
	WScript.Quit(1)
15.
End If
16.

17.
If Not fso.FileExists(sSonder) Then
18.
	WScript.Echo "Sonderzeichendaten " & sSonder & " nicht gefunden."
19.
	WScript.Quit(1)
20.
End If
21.
Set oSonder = fso.OpenTextFile(sSonder, 1)
22.
If Not oSonder.AtEndOfStream Then 
23.
	aSonder = Split(oSonder.ReadAll, vbCrLF)
24.
Else
25.
	oSonder.Close
26.
	WScript.Echo "Sonderzeichendatei " & sSonder & " enthält keine Daten!"
27.
	WScript.Quit(1)
28.
End If
29.
oSonder.Close
30.

31.
If Right(LCase(WScript.FullName), 11) = "cscript.exe" Then
32.
	bConsole = True
33.
Else
34.
	bConsole = False
35.
End If
36.

37.
Set oProtokoll = fso.OpenTextFile(sProtokoll & "\" & Replace(Replace(sFolder, ":", ""), "\", "_") & "-Doppelt.txt", 2, True)
38.

39.
Set oFolder = fso.GetFolder(sFolder)
40.
For Each oFile In oFolder.Files
41.
	sNameOld = Left(oFile.Name, InStrRev(oFile.Name, ".") - 1)
42.
	sType = Mid(oFile.Name, InStrRev(oFile.Name, "."))
43.
	
44.
	If bConsole Then WScript.Echo "Bearbeite: " & oFile.Name
45.
	
46.
	sNameNew = ReplaceSpecialChars(sNameOld)
47.
	If Not fso.FileExists(oFile.ParentFolder & "\" & sNameNew & sType) Then
48.
		oFile.Name = sNameNew & sType
49.
	Else
50.
		If sNameOld <> sNameNew Then oProtokoll.WriteLine oFile.Name
51.
	End If
52.
Next
53.
oProtokoll.Close
54.

55.
Function ReplaceSpecialChars(sOld)
56.
sTemp = sOld
57.
For Each sLine In aSonder
58.
	aChars = Split(sLine, ",")
59.
	For i = 1 To UBound(aChars)
60.
		sTemp = Replace(sTemp, aChars(i), aChars(0))
61.
	Next
62.
Next
63.
ReplaceSpecialChars = sTemp
64.
End Function
65.
Mitglied: bastla
20.05.2009 um 17:47 Uhr
Hallo Cadsys-Chemnitz!

Es steckt zwar sicher Optimierungspotenzial in dem Script , aber grundsätzlich sollte es so funktionieren:
01.
'RenameSpecialR.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.
ProcessFolder(fso.GetFolder(sFolder))
38.
oProtokoll.Close
39.

40.
Sub ProcessFolder(oFolder)
41.
sNameOld = oFolder.Name
42.
If bConsole Then WScript.Echo "Bearbeite: " & oFolder.Path
43.

44.
sNameNew = ReplaceSpecialChars(sNameOld)
45.
If Not fso.FolderExists(oFolder.ParentFolder & "\" & sNameNew) Then
46.
    oFolder.Name = sNameNew
47.
Else
48.
    If sNameOld <> sNameNew Then oProtokoll.WriteLine oFolder.Path
49.
End If
50.

51.
For Each oFile In oFolder.Files
52.
    sNameOld = Left(oFile.Name, InStrRev(oFile.Name, ".") - 1)
53.
    sType = Mid(oFile.Name, InStrRev(oFile.Name, "."))
54.
    If bConsole Then WScript.Echo "Bearbeite: " & oFile.Path
55.
	
56.
    sNameNew = ReplaceSpecialChars(sNameOld)
57.
    If Not fso.FileExists(oFile.ParentFolder & "\" & sNameNew & sType) Then
58.
        oFile.Name = sNameNew & sType
59.
    Else
60.
        If sNameOld <> sNameNew Then oProtokoll.WriteLine oFile.Path
61.
    End If
62.
Next
63.

64.
For Each oSubFolder In oFolder.SubFolders
65.
    ProcessFolder(oSubFolder)
66.
Next
67.
End Sub
68.

69.
Function ReplaceSpecialChars(sOld)
70.
sTemp = sOld
71.
For Each sLine In aSonder
72.
    aChars = Split(sLine, ",")
73.
    For i = 1 To UBound(aChars)
74.
        sTemp = Replace(sTemp, aChars(i), aChars(0))
75.
    Next
76.
Next
77.
ReplaceSpecialChars = sTemp
78.
End Function
Grüße
bastla
Bitte warten ..
Mitglied: Biber
20.05.2009 um 18:05 Uhr
Moin Cadsys-Chemnitz,
<OT>
....running gag #397
wenn ich einen Ordner umbennen lassen...
Menno, ich hab doch allen so oft angeboten, dass wir auch das viel einfachere Wort renamen oder meinetwegen umbenamsen verwenden dürfen...

WTF macht denn dieses Wort "Umbenennen" so schwierig?
Da ist kein "TZ", kein "PH" kein "Y" drin....

</OT>

Schönes Wochenende und drückt nachher mit mir Werder die Daumen.
Biber
Bitte warten ..
Mitglied: dog
21.05.2009 um 03:04 Uhr
Da ist kein "TZ", kein "PH" kein "Y" drin...

Wie in Phytzik?

Sorry, der musste sein...
Bitte warten ..
Mitglied: MonoTone
21.05.2009 um 23:25 Uhr
Zitat von Biber:

Schönes Wochenende und drückt nachher mit mir Werder die
Daumen.
Biber

Hat nix genutzt
Bitte warten ..
Mitglied: Cadsys-Chemnitz
22.05.2009 um 09:04 Uhr
Sorry das ich gestern nicht mehr Antworten konnte, lag wohl am Alkohol.^^

Also das funktioniert jetzt richtig prima, danke an Bastla.


An alle die betroffen sind heute nen schönen Brückentag.

S Y L

Tino
Bitte warten ..
Mitglied: nullnulleins
15.04.2010 um 04:49 Uhr
Soo.. hallo zusammen!

..jetzt habe ich mich extra angemeldet um diesen verstaubten thread mal wieder vorzukramen..
ich habe hier 10000de von Dateien, Ordner und Unterordner bei welchen nach Kopieraktionen über verschiedenen Filesystem und Betriebsysteme die Umlauten falsch angezeigt werden. Jetzt mag Windows XP die Dateien nicht mehr weiterkopieren.. ;)

Der Inhalt meiner "SonderzeichenErsetzung.txt" sieht jetzt wie folgt aus:
(jaa...ein grosses verkrüppeltes Ä suche ich noch.. )

ss,ß
Ae,ä
ae,ä
Oe,Ö
oe,├Â
Ue,Ü
ue,├╝
_, ,
_,(
_,)


Das Script läuft auch schön durch ersetzt aber nur Leerzeichen durch "_"

Habt ihr eine Erklärung dafür warum die anderen Zeichen nicht ersetzt werden?

Die Zeichen sind so wie sie in der shell angezeigt werden. kann vba damit evtl nicht umgehen??
Ich hatte hier auch eine .bat stapelverarbeitung von bastl gefunden. damit hat es geklappt.. aber halt ohne unterordner..usw... von daher gehe ich davon aus das ich schon die "richtigen" zeichen ersetze. ;) ..
unter windows werden nur kästchen angezeigt .
Was kann ich noch tun?

LG, die nullnummer
Bitte warten ..
Mitglied: bastla
15.04.2010 um 10:47 Uhr
Hallo nullnulleins und willkommen im Forum!
Die Zeichen sind so wie sie in der shell angezeigt werden.
... und damit im ASCII-Format - VBScript verwendet allerdings ANSI.

Du solltest die Zeichen aus der Anzeige im Explorer holen (Dateinamen markieren, F2, Zeichen herauskopieren).

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VB-Script per Aufgabenplanung
gelöst Frage von S4kar97VB for Applications2 Kommentare

Hallo, Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die ...

Entwicklung
VB Script Drucker hinzufügen
Frage von Marcel1989Entwicklung3 Kommentare

Funktionsweise sollte definitiv sein das mit einem Script sich 2 verschiedene Betriebssysteme ein und denselben Drucker holen. Mein Script ...

Windows Server
Drucker entfernen in VB-Script
gelöst Frage von NilsvLehnWindows Server2 Kommentare

Hallo ich habe eine kleine Frage bzgl. unseres Anmeldeskriptes. Ich habe ein IT-netzwerk an einer Uni übernommen. Ich arbeite ...

VB for Applications

Per VB Script eine Webverknüpfung erstellen

gelöst Frage von wilyfoxVB for Applications2 Kommentare

Hallo, ich möchte per Script eine Verknüpfung auf dem Desktop erstellen. Die Verknüpfung wird auch erstellt nur das gewünschte ...

Neue Wissensbeiträge
Google Android

Heise: Google sperrt Android-Updates und den Play Store für Huawei

Information von Deepsys vor 4 StundenGoogle Android2 Kommentare

Das finde ich schon ein starkes Stück, Trump der Welt Diktator. So kann man mit einem Dekret mal eben ...

Windows 7

Südkoreas Regierung setzt auf Linux, um Windows 7 Clients abzulösen

Information von kgborn vor 15 StundenWindows 74 Kommentare

Kleiner Infosplitter zum Wochenanfang: Während München (LiMux) und die niedersächsische Finanzverwaltung von Linux auf einen Windows 10-Client (und Office) ...

Internet
Big Brother is Watching You
Information von transocean vor 1 TagInternet1 Kommentar

Moin, die Datenkrake Google fischt Informationen über Einkäufe ab, die GMail Nutzer im Netz tätigen. Gruß Uwe

Datenschutz
TeamViewer gehackt !
Information von aqui vor 1 TagDatenschutz5 Kommentare

Hat schon einen Grund warum verantwortungsvolle Admins diese Software nicht einsetzen und sie in den meisten größeren Firmen aus ...

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Netzwerk IP Kamera nur an einem Rechner sichtbar
Frage von Lutz-ReNetzwerkgrundlagen9 Kommentare

Guten Abend Ich hab in einem IP 4 Netzwerk mit gleichen Subnetz zwei Kameras mit festen IP Adresse und ...

Linux Userverwaltung
Ist sudo auf Servern Pflicht?
Frage von lcer00Linux Userverwaltung9 Kommentare

Hallo zusammen, wir haben für einige Netzwerkdienste einige Debian Server. Auf diesen Servern arbeiten keine Benutzer im eigentlichen sinne. ...

Router & Routing
Router mit OpenVPN-Server hinter Fritzbox schalten
Frage von arvaxnRouter & Routing7 Kommentare

Hallo Leute, da das VPN der lahmen Fritzbox 6591 Cable nur 8mbit schafft, obwohl meine Leitung einen Upload von ...

Humor (lol)
Mitarbeiter meldet: VPN funktioniert nicht
Frage von Epixc0reHumor (lol)6 Kommentare

Servus, einer unserer Mitarbeiter meldete heute, sein VPN funktioniert Zuhause nicht, im LTE Netz aber schon. Per Teamviewer hin ...