Hallo,
es sollte nur ein ganz kleines Tool werden, auf dem schmerzhaften Weg habe ich nun herausgefunden, dass CopyFile und RenameFile nicht mit Umlauten zurechtkommen.
Was ist denn dazu erforderlich? Einstellungen? Dateiname konvertieren oder die Zeichen maskieren?
Danke!
CopyFile mit Umlauten
Re: CopyFile mit Umlauten
Das kann ich grundsätzlich nicht bestätigen. CopyFile, RenameFile u.ä. kommen mit Umlauten klar. Wenn es spezielle Zeichen aus einer anderen Sprache sind, musst du unbedingt Unicode benutzen, falls du eine ältere PB-Version verwendest.
Welches Betriebssystem und welche PB-Version benutzt du? Was für Zeichen sind es genau? Hast du den Character-Wert dieser Zeichen ermittelt? Hast du es auch mit einem einfachen, kleinen Beispielcode, der nur deine gewünschte Datei kopiert, getestet? Damit kannst du ausschließen, dass der Fehler doch woanders liegt.
Und stammt die Datei aus dem Internet oder von einem anderen Betriebssystem bzw. Dateisystem? Wurde die Datei per FTP heruntergeladen? Hast du auch mal mit anderen Dateien getestet?
Welches Betriebssystem und welche PB-Version benutzt du? Was für Zeichen sind es genau? Hast du den Character-Wert dieser Zeichen ermittelt? Hast du es auch mit einem einfachen, kleinen Beispielcode, der nur deine gewünschte Datei kopiert, getestet? Damit kannst du ausschließen, dass der Fehler doch woanders liegt.
Und stammt die Datei aus dem Internet oder von einem anderen Betriebssystem bzw. Dateisystem? Wurde die Datei per FTP heruntergeladen? Hast du auch mal mit anderen Dateien getestet?
-
- Beiträge: 5
- Registriert: 29.02.2016 13:23
Re: CopyFile mit Umlauten
Hi RSBasic,
danke für die Rückmeldung. Mir stand der Rechner am Wochenende nicht zur Verfügung.
Das Problem betraf CopyFile, RenameFile usw. Eine Datei mit einem ß konnte ich nicht Kopieren oder umbenennen. Erkannt und gelesen wurde sie korrekt.
Sie lag auf dem Desktop, WIN10 1703, 64bit. Purebasic 5.61 64 bit.
Die betroffenen Dateien wurde von jemand anderem erstellt und ursprünglich aus Netzfreigaben eines Servers in einer Windows Domäne geholt und auf Endgeräte kopiert.
Ich hatte auch keine Einschränkungen auf den Dateien gefunden. Gleichzeitig war Python in der Lage, die Operationen auszuführen...
Die Funktion habe ich schließlich zum Laufen gebracht durch Ersetzen des ß im Ausdruck durch den Charactercode:
... Skript Schlo" + Chr(223) + ".vbs"
Heute früh ist der Fehler nicht reproduzierbar! Der PC wurde zwischenzeitlich nicht neu gestartet, auch WIN10 hat laut Updateliste nichts "gemacht".
Sorry für den Fehlalarm, legen wir es mal ab und danke für die Hilfe. Mal sehen ob es nun durchgängig zuverlässig läuft. Ich muss das "Programm" in Kürze verteilen.
Klaus
danke für die Rückmeldung. Mir stand der Rechner am Wochenende nicht zur Verfügung.
Das Problem betraf CopyFile, RenameFile usw. Eine Datei mit einem ß konnte ich nicht Kopieren oder umbenennen. Erkannt und gelesen wurde sie korrekt.
Sie lag auf dem Desktop, WIN10 1703, 64bit. Purebasic 5.61 64 bit.
Die betroffenen Dateien wurde von jemand anderem erstellt und ursprünglich aus Netzfreigaben eines Servers in einer Windows Domäne geholt und auf Endgeräte kopiert.
Ich hatte auch keine Einschränkungen auf den Dateien gefunden. Gleichzeitig war Python in der Lage, die Operationen auszuführen...
Die Funktion habe ich schließlich zum Laufen gebracht durch Ersetzen des ß im Ausdruck durch den Charactercode:
... Skript Schlo" + Chr(223) + ".vbs"
Heute früh ist der Fehler nicht reproduzierbar! Der PC wurde zwischenzeitlich nicht neu gestartet, auch WIN10 hat laut Updateliste nichts "gemacht".
Sorry für den Fehlalarm, legen wir es mal ab und danke für die Hilfe. Mal sehen ob es nun durchgängig zuverlässig läuft. Ich muss das "Programm" in Kürze verteilen.
Klaus
Re: CopyFile mit Umlauten
Bei sowas tipp ich immer auf die Codierungseinstellung von PB (file>file format). Wenns nicht auf utf8 steht, kann sowas imo auftreten.
CodeArchiv Rebirth: Deutsches Forum Github Hilfe ist immer gern gesehen!
Re: CopyFile mit Umlauten
Wollte ich auch gerade sagen.GPI hat geschrieben:Bei sowas tipp ich immer auf die Codierungseinstellung von PB (file>file format). Wenns nicht auf utf8 steht, kann sowas imo auftreten.
Zumal
Außerdem sollte man eine Unicode-EXE erzeugen -- aber das ist ja mit PB 5.50+ immer automatisch gegeben.BasicKlaus hat geschrieben:Die Funktion habe ich schließlich zum Laufen gebracht durch Ersetzen des ß im Ausdruck durch den Charactercode:
... Skript Schlo" + Chr(223) + ".vbs"
-
- Beiträge: 5
- Registriert: 29.02.2016 13:23
Re: CopyFile mit Umlauten
Hallo, danke - die Tipps habe ich alle überprüft. Es lag nicht einmal an den Umlauten. Vielleicht ist meine Maschine vermurkst...ich habe auch ältere PureBasic Versionen ausprobiert.
Ich kann den Fehler zur Zeit nicht finden. Je mehr ich am Code geschraubt habe, desto wahrscheinlicher wurde es, dass es plötzlich nicht funktioniert.
Ich habe einfach angefangen - den Code aufgebaut und plötzlich liefen diese Vorgänge nicht mehr.
Ich habe die Stellen dann wieder zum Test total reduziert, und es lief trotzdem nicht; nicht einmal so eine Zeile:
Wenn ich mal Zeit habe, probiere ich das ohne Win Defender und ohne Malwarebytes... AVIRA ist schon abgeschaltet. Muss es jetzt anders regeln.
Klaus
Ich kann den Fehler zur Zeit nicht finden. Je mehr ich am Code geschraubt habe, desto wahrscheinlicher wurde es, dass es plötzlich nicht funktioniert.
Ich habe einfach angefangen - den Code aufgebaut und plötzlich liefen diese Vorgänge nicht mehr.
Ich habe die Stellen dann wieder zum Test total reduziert, und es lief trotzdem nicht; nicht einmal so eine Zeile:
Code: Alles auswählen
ThisResult = RenameFile(MyDesktopDir$ + "Netzlaufwerke.vbs", MyDesktopDir$ + "Netzlaufwerke.vbs.ALT")
Klaus
Re: CopyFile mit Umlauten
Das wäre meine nächste Vermutung. Mal komplett abschalten und erneut testen. Wenn es daran liegt, dann eine Ausnahmeregel hinzufügen.BasicKlaus hat geschrieben:Wenn ich mal Zeit habe, probiere ich das ohne Win Defender und ohne Malwarebytes... AVIRA ist schon abgeschaltet. Muss es jetzt anders regeln.?
Wenn es nicht daran liegt, dann überprüfen, von welchem Prozess die Dateien exklusiv gesperrt sind. Du kannst mal versuchen, diese Dateien umzubenennen. Falls die Umbenennung fehlschlägt, dann kannst du LockHunter benutzen, um den verwendeten Prozess zu ermitteln.