Sonderzeichen in Dateinamen entfernen
Hallo,
auf diversen Fileservern habe ich einige Ordnernamen und Dateinamen, die Sonderzeichen enthalten. Dies stört das Backup und auch eine anstehende Filemigration/Konsolidierung.
Bezüglich dieses Themans habe ich schon einen Beitrag hier gefunden, der schon in die richtige Richtung geht (waves Bastla)
Mit VB Script Sonderzeichen entfernen.
Allerdings geht diese Lösung von "bekannten" Sonderzeichen aus und entfernt diese. Ich jedoch habe Sonderzeichen die im Prinzip nicht Bekannt sind (resultierend aus verschiedenen Sprachen (kyrillisch, chinesisch, japansch, marsianisch vogonisch etc..) Erlaubt sind diese Namen nicht und resultieren zum Großteil aus Downloads.
Ich kann daher keine "Negativ-Vergleichsdatei" benutzen sondern muss mit eine "Positiv-Liste" arbeiten.
z.B. a,A,b,B,c,C,d,D . .. . . 0,1,2,3,4,5,6,7,8,9,_,- usw. (na eben alles Englisch/Deutsche was unproblematisch ist. Eine oft in Posts angesprochene Umlautproblematik habe ich nicht.
Alle Zeichen in Dateinamen, die in der "Positiv-Liste" nicht enthalten sind sollen daher am besten entfernt werden.
Am liebsten wäre mir sogar noch eine "justreport"-Option, die erstmal nur reportet (Was wäre wenn) und eine zweite "Mach"-Option die es dann durchführt.
Hat sowas schon mal jemand umgesetzt ?
Grüße, Jan
edit : ob vbs oder cmd ist eigentlich egal
auf diversen Fileservern habe ich einige Ordnernamen und Dateinamen, die Sonderzeichen enthalten. Dies stört das Backup und auch eine anstehende Filemigration/Konsolidierung.
Bezüglich dieses Themans habe ich schon einen Beitrag hier gefunden, der schon in die richtige Richtung geht (waves Bastla)
Mit VB Script Sonderzeichen entfernen.
Allerdings geht diese Lösung von "bekannten" Sonderzeichen aus und entfernt diese. Ich jedoch habe Sonderzeichen die im Prinzip nicht Bekannt sind (resultierend aus verschiedenen Sprachen (kyrillisch, chinesisch, japansch, marsianisch vogonisch etc..) Erlaubt sind diese Namen nicht und resultieren zum Großteil aus Downloads.
Ich kann daher keine "Negativ-Vergleichsdatei" benutzen sondern muss mit eine "Positiv-Liste" arbeiten.
z.B. a,A,b,B,c,C,d,D . .. . . 0,1,2,3,4,5,6,7,8,9,_,- usw. (na eben alles Englisch/Deutsche was unproblematisch ist. Eine oft in Posts angesprochene Umlautproblematik habe ich nicht.
Alle Zeichen in Dateinamen, die in der "Positiv-Liste" nicht enthalten sind sollen daher am besten entfernt werden.
Am liebsten wäre mir sogar noch eine "justreport"-Option, die erstmal nur reportet (Was wäre wenn) und eine zweite "Mach"-Option die es dann durchführt.
Hat sowas schon mal jemand umgesetzt ?
Grüße, Jan
edit : ob vbs oder cmd ist eigentlich egal
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 77719
Url: https://administrator.de/contentid/77719
Ausgedruckt am: 25.11.2024 um 17:11 Uhr
19 Kommentare
Neuester Kommentar
Hallo jschneider!
Nur zum Antesten:
Der zu bearbeitende Start-Ordner ist zwar fest im Script eingetragen, er kann aber auch als Parameter beim Aufruf übergeben werden.
Die Positivliste ist leicht zu erweitern - einfach zwischen den Anführungszeichen die restlichen erlaubten Zeichen in beliebiger Reihenfolge eintragen.
Das Script verändert keine Dateinamen, sondern erstellt nur ein Log-File im Format CSV mit den Feldern Pfad;Dateiname alt;Dateiname neu. Überprüft wird dabei (anhand der selben Liste) auch der Dateityp, jedoch (noch) nicht die Schreibweise der Ordnernamen.
Es findet auch keine Fehlerbehandlung (zB für nicht-existenten Start-Ordner, fehlende Zugriffsrechte, etc) statt.
Gedacht ist diese Version für einen Aufruf von der Kommandozeile, zB
oder
damit der Pfad jedes eben bearbeiteten Ordners im CMD-Fenster ausgegeben werden kann (siehe Zeile WScript.Echo sPath). Würde das Script nicht mit "cscript" ausgeführt (also zB per Doppelklick oder als Drag&Drop-Ziel für einen Ordner), müsste für jeden Ordner eine MsgBox weggeklickt (oder einfach die genannte Zeile durch das Voranstellen eines Apostrophs deaktiviert) werden ...
Grüße
bastla
P.S.: Von welchem Server hast Du eigentlich die marsianisch benannten Files heruntergeladen?
[Edit] Ergänzung: Umbenennungsbefehl (als Kommentar) integriert - Umbenennung dabei nur, wenn neuer Name zumindest ein Zeichen enthält; allerdings weiterhin als Demo gedacht, da (noch) nicht geprüft wird, ob schon eine gleichnamige Datei vorhanden ist ... [/Edit]
Nur zum Antesten:
'TidyFileNames.vbs
sOrdner = "D:\Test"
sLog = "D:\Log.txt"
sPosList = ".0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
sDelim = ";"
If WScript.Arguments.Count > 0 Then sOrdner = WScript.Arguments(0)
Set fso = CreateObject("Scripting.FileSystemObject")
Set oLog = fso.OpenTextFile(sLog, 2, True)
ProcessFolder fso.GetFolder(sOrdner)
oLog.Close
WScript.Echo vbCrLF & "Done."
Sub ProcessFolder(ThisFolder)
sPath = ThisFolder.Path
If InStr(sPath, "System Volume Information") = 0 Then
WScript.Echo sPath
For Each File In ThisFolder.Files
sOld = File.Name
sNew = ""
For i = 1 To Len(sOld)
sChar = Mid(sOld, i, 1)
If InStr(sPosList, sChar) Then sNew = sNew & sChar
Next
oLog.WriteLine sPath & sDelim & sOld & sDelim & sNew
'Um die Umbenennung tatsächlich durchzuführen, das
'Kommentarzeichen vor der nächsten Zeile entfernen:
'If sNew <> "" Then File.Name = sNew
Next
For Each Folder In fso.GetFolder(ThisFolder).SubFolders
ProcessFolder Folder
Next
End If
End Sub
Die Positivliste ist leicht zu erweitern - einfach zwischen den Anführungszeichen die restlichen erlaubten Zeichen in beliebiger Reihenfolge eintragen.
Das Script verändert keine Dateinamen, sondern erstellt nur ein Log-File im Format CSV mit den Feldern Pfad;Dateiname alt;Dateiname neu. Überprüft wird dabei (anhand der selben Liste) auch der Dateityp, jedoch (noch) nicht die Schreibweise der Ordnernamen.
Es findet auch keine Fehlerbehandlung (zB für nicht-existenten Start-Ordner, fehlende Zugriffsrechte, etc) statt.
Gedacht ist diese Version für einen Aufruf von der Kommandozeile, zB
cscript //nologo C:\Scripts\TidyFileNames.vbs
cscript //nologo C:\Scripts\TidyFileNames.vbs "D:\Anderer Testordner"
Grüße
bastla
P.S.: Von welchem Server hast Du eigentlich die marsianisch benannten Files heruntergeladen?
[Edit] Ergänzung: Umbenennungsbefehl (als Kommentar) integriert - Umbenennung dabei nur, wenn neuer Name zumindest ein Zeichen enthält; allerdings weiterhin als Demo gedacht, da (noch) nicht geprüft wird, ob schon eine gleichnamige Datei vorhanden ist ... [/Edit]
Moin jschneider,
hattest Du schon Gelegenheit, bastlas Lösungsvorschlag zu lesen oder gar zu testen?
Gib ihm und dem Rest der interessierten MitleserInnen doch bitte ein Feedback.
Nicht weil hier im Forum irgendjemand Zweifel an bastlas Lösungen hätte, sondern weil es eigentlich zu den Grundregeln gehört, durch die so ein Forum funktionieren kann.
Danke
Biber
hattest Du schon Gelegenheit, bastlas Lösungsvorschlag zu lesen oder gar zu testen?
Gib ihm und dem Rest der interessierten MitleserInnen doch bitte ein Feedback.
Nicht weil hier im Forum irgendjemand Zweifel an bastlas Lösungen hätte, sondern weil es eigentlich zu den Grundregeln gehört, durch die so ein Forum funktionieren kann.
Danke
Biber
Hallo jschneider!
Für die von Dir gewünschte Ausgabe wäre nur die Zeile
durch
zu ersetzen.
Grüße
bastla
kann es sein, das in der log.txt ALLE Dateien ausgeworfen werden ...
Ja - war ja als Demo gedacht und sollte daher das Ergebnis (= gleicher oder veränderter Dateiname) für alle Dateien zeigen.Für die von Dir gewünschte Ausgabe wäre nur die Zeile
oLog.WriteLine sPath & sDelim & sOld & sDelim & sNew
If StrComp(sOld, sNew, vbTextCompare) <> 0 Then oLog.WriteLine sPath & sDelim & sOld & sDelim & sNew
Grüße
bastla
Hallo zusammen,
ich stehe momentan vor der Aufgabe einen Fileserver von Dateien mit exotischen Zeichen im Dateinamen zu befreien und habe auf der Suche nach einer Lösung bastlas Skript gefunden. Das Script funktioniert bei mir sehr gut und ist wirklich Gold wert.
Was allerdings noch fehlt ist eine zusätzliche Überprüfung der Ordnernamen. Leider kann ich kein VBS, sonst hätte ich mich selbst versucht. Ist es viel Aufwand das Script um eine Ordnernamenüberprüfung zu erweitern? Bastla hatte ja erwähnt, dass es (noch) nicht eingebaut ist. Vielleicht findet sich jemand der diesen Teil noch ergänzt? Dann ist es die Eierlegende Wollmilchsau.
Grüße
Daniel
ich stehe momentan vor der Aufgabe einen Fileserver von Dateien mit exotischen Zeichen im Dateinamen zu befreien und habe auf der Suche nach einer Lösung bastlas Skript gefunden. Das Script funktioniert bei mir sehr gut und ist wirklich Gold wert.
Was allerdings noch fehlt ist eine zusätzliche Überprüfung der Ordnernamen. Leider kann ich kein VBS, sonst hätte ich mich selbst versucht. Ist es viel Aufwand das Script um eine Ordnernamenüberprüfung zu erweitern? Bastla hatte ja erwähnt, dass es (noch) nicht eingebaut ist. Vielleicht findet sich jemand der diesen Teil noch ergänzt? Dann ist es die Eierlegende Wollmilchsau.
Grüße
Daniel
Hallo danielwoe und willkommen im Forum!
Etwas erweitert sähe das dann so aus:
Der Sonderpreis für Eleganz ist damit zwar nicht zu gewinnen, aber das Script sollte jetzt so einigermaßen passen ...
Achtung - ist schon "scharf geschaltet" und ändert tatsächlich die Namen (falls nicht gewünscht, Zeilen 30 und 49 auskommentieren)!
Grüße
bastla
Etwas erweitert sähe das dann so aus:
'TidyFileAndFolderNames.vbs
sOrdner = "D:\Test"
sLog = "D:\Log.txt"
sPosList = ".0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
sDelim = ";"
If WScript.Arguments.Count > 0 Then sOrdner = WScript.Arguments(0)
Set fso = CreateObject("Scripting.FileSystemObject")
Set oLog = fso.OpenTextFile(sLog, 2, True)
ProcessFolder fso.GetFolder(sOrdner)
oLog.Close
WScript.Echo vbCrLF & "Done."
Sub ProcessFolder(ThisFolder)
sPath = ThisFolder.Path
If InStr(sPath, "System Volume Information") = 0 Then
WScript.Echo sPath
sOld = ThisFolder.Name
sNew = ""
For i = 1 To Len(sOld)
sChar = Mid(sOld, i, 1)
If InStr(sPosList, sChar) Then sNew = sNew & sChar
Next
If StrComp(sOld, sNew, vbTextCompare) <> 0 Then
If sNew <> "" Then
If Not fso.FolderExists(fso.GetParentFolderName(sPath) & "\" & sNew) And Not fso.FileExists(fso.GetParentFolderName(sPath) & "\" & sNew) Then
ThisFolder.Name = sNew
oLog.WriteLine sPath & "\" & sDelim & sNew & "\"
Else
oLog.WriteLine sPath & "\" & sDelim & sNew & sDelim & "#gleichnamige(s) Datei / Verzeichnis bereits vorhanden#"
End If
End If
End If
sPath = ThisFolder.Path
For Each File In ThisFolder.Files
sOld = File.Name
sNew = ""
For i = 1 To Len(sOld)
sChar = Mid(sOld, i, 1)
If InStr(sPosList, sChar) Then sNew = sNew & sChar
Next
If StrComp(sOld, sNew, vbTextCompare) <> 0 Then
If sNew <> "" Then
If Not fso.FolderExists(sPath & "\" & sNew) And Not fso.FileExists(sPath & "\" & sNew) Then
File.Name = sNew
oLog.WriteLine sPath & sDelim & sOld & sDelim & sNew
Else
oLog.WriteLine sPath & sDelim & sOld & sDelim & sNew & sDelim & "#gleichnamige(s) Datei / Verzeichnis bereits vorhanden#"
End If
End If
End If
Next
For Each Folder In fso.GetFolder(ThisFolder).SubFolders
ProcessFolder Folder
Next
End If
End Sub
Achtung - ist schon "scharf geschaltet" und ändert tatsächlich die Namen (falls nicht gewünscht, Zeilen 30 und 49 auskommentieren)!
Grüße
bastla
Hallo bastla und vielen Dank für die Erweiterung des Skripts!
Das Skript funktioniert super und ist in der aktuellen Fassung schon Gold wert. Allerdings gibt es noch ein Problem mit relativ exotischen Zeichen im Dateinamen. Sobald das Script bei mir in einem Ordner mit folgenden beiden Dateien ankommt
AW Вопросы к таблицам .txt
Вопросы Ё Грюневельду.doc
bricht es mit folgender Fehlermeldung ab:
H:\TidyFileAndFolderNames.vbs(54, 21) Laufzeitfehler in Microsoft VBScript: Ungü
ltiger Prozeduraufruf oder ungültiges Argument
Bei den Zeichen in den Dateinamen dürfte es sich um Zeichen aus dem kasachischen, kyrillischen Alphabet handeln. Die sind also ziemlich exotisch aber genau solche Zeichen machen sonst auch später bei der Backuperstellung Probleme.
Hast du eine Idee ob man diese Zeichen auch noch irgendwie mit dem Skript verarbeiten könnte oder stößt die VBS-Lösung dort an ihre Grenzen?
Gruß und Dank!
Daniel
Das Skript funktioniert super und ist in der aktuellen Fassung schon Gold wert. Allerdings gibt es noch ein Problem mit relativ exotischen Zeichen im Dateinamen. Sobald das Script bei mir in einem Ordner mit folgenden beiden Dateien ankommt
AW Вопросы к таблицам .txt
Вопросы Ё Грюневельду.doc
bricht es mit folgender Fehlermeldung ab:
H:\TidyFileAndFolderNames.vbs(54, 21) Laufzeitfehler in Microsoft VBScript: Ungü
ltiger Prozeduraufruf oder ungültiges Argument
Bei den Zeichen in den Dateinamen dürfte es sich um Zeichen aus dem kasachischen, kyrillischen Alphabet handeln. Die sind also ziemlich exotisch aber genau solche Zeichen machen sonst auch später bei der Backuperstellung Probleme.
Hast du eine Idee ob man diese Zeichen auch noch irgendwie mit dem Skript verarbeiten könnte oder stößt die VBS-Lösung dort an ihre Grenzen?
Gruß und Dank!
Daniel
Hallo bastla, großer Scriptmeister,
ich bekomme dein Script nicht richtig zum Laufen und habe keine Ahnung, warum.
Die fraglichen Dateien liegen auf einem NAS und ich habe den entsprechenden Ordner als Netzlaufwerk an meinem PC eingebunden.
Der Zugriff scheint auch nicht das Problem zu sein, denn es wird eine Log-Datei ausgegeben, in welcher auch fast alle Dateien auftauchen.
Leider werden genau jene, in welchen die "kryptischen" Sachen enthalten sind, einfach ignoriert.
Das Umbenennen funktioniert bei allen Dateien außer denen, für die es erforderlich wäre. Ich habe dies getestet, indem ich mal das Leerzeichen aus der Positivliste entfernt habe.
Promt werden aus den Dateinamen alle Leerzeichen entfernt. Jedoch werden die Dateien, welche wirklich kryptische Zeichen enthalten, einfach ignoriert.
Es handelt sich um Downloads aus dem Usenet und die kryptischen Zeichen waren ursprünglich mal Umlaute. Jetzt sind das wohl irgendwelche von Windows absolut nicht lesbare Zeichen,
welche z. B. im Totalcommander als "_" (Unterstrich) angezeigt werden...
Vielleicht hast du ja eine Idee dazu? Wäre sehr hilfreich für mich, da ich viel aus dem Usenet lade. Die Server stehen meist in US und da kennt man ja keine Umlaute...
Ich bedanke mich schon mal.
ich bekomme dein Script nicht richtig zum Laufen und habe keine Ahnung, warum.
Die fraglichen Dateien liegen auf einem NAS und ich habe den entsprechenden Ordner als Netzlaufwerk an meinem PC eingebunden.
Der Zugriff scheint auch nicht das Problem zu sein, denn es wird eine Log-Datei ausgegeben, in welcher auch fast alle Dateien auftauchen.
Leider werden genau jene, in welchen die "kryptischen" Sachen enthalten sind, einfach ignoriert.
Das Umbenennen funktioniert bei allen Dateien außer denen, für die es erforderlich wäre. Ich habe dies getestet, indem ich mal das Leerzeichen aus der Positivliste entfernt habe.
Promt werden aus den Dateinamen alle Leerzeichen entfernt. Jedoch werden die Dateien, welche wirklich kryptische Zeichen enthalten, einfach ignoriert.
Es handelt sich um Downloads aus dem Usenet und die kryptischen Zeichen waren ursprünglich mal Umlaute. Jetzt sind das wohl irgendwelche von Windows absolut nicht lesbare Zeichen,
welche z. B. im Totalcommander als "_" (Unterstrich) angezeigt werden...
Vielleicht hast du ja eine Idee dazu? Wäre sehr hilfreich für mich, da ich viel aus dem Usenet lade. Die Server stehen meist in US und da kennt man ja keine Umlaute...
Ich bedanke mich schon mal.
Hallo g202e!
Leider ist Deine Beschreibung nicht sehr konkret, bzw habe ich keine Dateien dieser Art zum Test bei der Hand.
Du könntest es mal damit versuchen, eine dieser Dateien per Drag & Drop an die folgende Batchdatei zu übergeben und das Ergebnis zu posten:
Grüße
bastla
Leider ist Deine Beschreibung nicht sehr konkret, bzw habe ich keine Dateien dieser Art zum Test bei der Hand.
Du könntest es mal damit versuchen, eine dieser Dateien per Drag & Drop an die folgende Batchdatei zu übergeben und das Ergebnis zu posten:
@echo off & setlocal
set F=%temp%\FileName.vbs
>%F% echo N=WScript.Arguments(0):L=Len(N):WScript.Echo L:For i=1 To L:Z=Mid(N,i,1):WScript.Echo Z^&":"^&Asc(Z):Next
cscript //nologo %F% "%~nx1"
del %F%
pause
bastla
Hallo bastla,
vielen Dank dafür, dass du sogar am Wochenende deine Zeit opferst.
Ich habe getan, wie mir geheißen. Das Ergebnis ist für alle betroffenen Dateien dasselbe: Hinter dem als Unterstrich sichtbaren "kryptischen" Zeichen wird eine "95" angezeigt.
Ich weiß nicht, ob/wie man hier auch Bilder posten kann, deshalb habe ich eine Beispielausgabe mal http://img211.imageshack.us/i/bastlabatch.jpg/ hingelegt und hoffe, dass es lesbar ist.
(Die Datei heißt "103 - F_r Immer.mp3" und hinter dem großen "F" ist das entscheidende Byte)
vielen Dank dafür, dass du sogar am Wochenende deine Zeit opferst.
Ich habe getan, wie mir geheißen. Das Ergebnis ist für alle betroffenen Dateien dasselbe: Hinter dem als Unterstrich sichtbaren "kryptischen" Zeichen wird eine "95" angezeigt.
Ich weiß nicht, ob/wie man hier auch Bilder posten kann, deshalb habe ich eine Beispielausgabe mal http://img211.imageshack.us/i/bastlabatch.jpg/ hingelegt und hoffe, dass es lesbar ist.
(Die Datei heißt "103 - F_r Immer.mp3" und hinter dem großen "F" ist das entscheidende Byte)
Hallo g202e!
Das fragliche Zeichen wird als "normales" Zeichen (nämlich "_") interpretiert - insofern leider auch keine Erklärung ...
BTW: Du kannst Text aus einem CMD-Fenster sehr leicht kopieren, indem Du per Rechtsklick auf das "Systemmenü" (links in der Titelleiste des Fensters) die "Eigenschaften" öffnest, dort unter "Optionen" den "QuickEdit-Modus" aktivierst und dann einfach mit der linken Maustaste den Text markierst und mit einem Rchtsklick in die Zwischenablage übernimmst (wenn übrigens nichts markiert ist, wird per Rechtsklick im CMD-Fenster eingefügt).
Bilder kannst Du übrigens (nur) in (D)einem eigenen Beitrag in das Eröffnungsposting stellen.
Grüße
bastla
Das fragliche Zeichen wird als "normales" Zeichen (nämlich "_") interpretiert - insofern leider auch keine Erklärung ...
BTW: Du kannst Text aus einem CMD-Fenster sehr leicht kopieren, indem Du per Rechtsklick auf das "Systemmenü" (links in der Titelleiste des Fensters) die "Eigenschaften" öffnest, dort unter "Optionen" den "QuickEdit-Modus" aktivierst und dann einfach mit der linken Maustaste den Text markierst und mit einem Rchtsklick in die Zwischenablage übernimmst (wenn übrigens nichts markiert ist, wird per Rechtsklick im CMD-Fenster eingefügt).
Bilder kannst Du übrigens (nur) in (D)einem eigenen Beitrag in das Eröffnungsposting stellen.
Grüße
bastla
Danke sehr für die schnelle Rückmeldung.
Damit sind wir wohl am Ende der Fahnenstange. Denn deine anderen Scripte habe ich ja bereits erfolglos versucht und da wird ja eben der "Unterstrich" nicht als solcher gedeutet...
Nochmals danke und ich werde nun mal versuchen, auf der Linux-Konsole diese Zeichen zu entfernen...
Damit sind wir wohl am Ende der Fahnenstange. Denn deine anderen Scripte habe ich ja bereits erfolglos versucht und da wird ja eben der "Unterstrich" nicht als solcher gedeutet...
Nochmals danke und ich werde nun mal versuchen, auf der Linux-Konsole diese Zeichen zu entfernen...
Zitat von @danielwoe:
Hallo bastla und vielen Dank für die Erweiterung des Skripts!
Das Skript funktioniert super und ist in der aktuellen Fassung schon Gold wert. Allerdings gibt es noch ein Problem mit relativ
exotischen Zeichen im Dateinamen. Sobald das Script bei mir in einem Ordner mit folgenden beiden Dateien ankommt
AW Вопросы к таблицам .txt
Вопросы Ё Грюневельду.doc
bricht es mit folgender Fehlermeldung ab:
H:\TidyFileAndFolderNames.vbs(54, 21) Laufzeitfehler in Microsoft VBScript: Ungü
ltiger Prozeduraufruf oder ungültiges Argument
Bei den Zeichen in den Dateinamen dürfte es sich um Zeichen aus dem kasachischen, kyrillischen Alphabet handeln. Die sind
also ziemlich exotisch aber genau solche Zeichen machen sonst auch später bei der Backuperstellung Probleme.
Hast du eine Idee ob man diese Zeichen auch noch irgendwie mit dem Skript verarbeiten könnte oder stößt die
VBS-Lösung dort an ihre Grenzen?
Gruß und Dank!
Daniel
Hallo bastla und vielen Dank für die Erweiterung des Skripts!
Das Skript funktioniert super und ist in der aktuellen Fassung schon Gold wert. Allerdings gibt es noch ein Problem mit relativ
exotischen Zeichen im Dateinamen. Sobald das Script bei mir in einem Ordner mit folgenden beiden Dateien ankommt
AW Вопросы к таблицам .txt
Вопросы Ё Грюневельду.doc
bricht es mit folgender Fehlermeldung ab:
H:\TidyFileAndFolderNames.vbs(54, 21) Laufzeitfehler in Microsoft VBScript: Ungü
ltiger Prozeduraufruf oder ungültiges Argument
Bei den Zeichen in den Dateinamen dürfte es sich um Zeichen aus dem kasachischen, kyrillischen Alphabet handeln. Die sind
also ziemlich exotisch aber genau solche Zeichen machen sonst auch später bei der Backuperstellung Probleme.
Hast du eine Idee ob man diese Zeichen auch noch irgendwie mit dem Skript verarbeiten könnte oder stößt die
VBS-Lösung dort an ihre Grenzen?
Gruß und Dank!
Daniel
Hallo, ich weiß der Thread ist schon paar Tage älter, bin aber eben auf diesen gestoßen und finde das Script sehr gut. Leider habe ich das selbe Problem wie danielwoe. Gibt es für das Problem eine Lösung? Mir ist dabei aufgefallen das das Script beim Aufruf zum umbennen eines Ordners in welchem sich mehrere solcher kryptisch bezeichneten Dateien befinden eine umbenennt bevor die Fehlermeldung kommt. Bei erneutem Aufruf benennt er die nächste um bevor er wieder abbricht. Was wäre wenn man die Fehlermeldung mal ignoriert und einfach eine Schleife (mit Anzahl der Datein = Schleifenanzahl) um das Script kreeiren würde? Hab leider null Ahnung von vbs, kann jmd helfen?
gruß ehorn
(2. Ansatz)
Hallo Jan alias jschneider, bastla, hallo Forum,
ich habe das gleiche Problem wie Jan, oder jedenfalls ein sehr ähnliches Problem mit kryptischen Sonderzeichen und deren Folgen.
Daher würde ich gerne das kleine Programm von „bastla“ auf meinen Fall anpassen, um wieder auf meine Dateien zu greifen zu können.
Würdest du (bzw würdet ihr) mich hier & da anleiten, um zum gewünschten Erfolg zu kommen?
Ich hoffe, ihr seht dieses Problem als eine Herausforderung an, die es gilt wissenschaftlich / technisch gelöst zu kriegen.
In meinem eigenen, ersten Versuch an anderer Stelle diesbezüglich hier Hilfe vom Forum zu erhalten, traf ich leider nur auf ein starkes Desinteresse so wie unerwünschten wie wenig hilfreichen Ratschlägen und Kommentaren.
Mehr Details liefere ich gern auf Anfrage.
Hallo Jan alias jschneider, bastla, hallo Forum,
ich habe das gleiche Problem wie Jan, oder jedenfalls ein sehr ähnliches Problem mit kryptischen Sonderzeichen und deren Folgen.
Daher würde ich gerne das kleine Programm von „bastla“ auf meinen Fall anpassen, um wieder auf meine Dateien zu greifen zu können.
Würdest du (bzw würdet ihr) mich hier & da anleiten, um zum gewünschten Erfolg zu kommen?
Ich hoffe, ihr seht dieses Problem als eine Herausforderung an, die es gilt wissenschaftlich / technisch gelöst zu kriegen.
In meinem eigenen, ersten Versuch an anderer Stelle diesbezüglich hier Hilfe vom Forum zu erhalten, traf ich leider nur auf ein starkes Desinteresse so wie unerwünschten wie wenig hilfreichen Ratschlägen und Kommentaren.
Mehr Details liefere ich gern auf Anfrage.