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

Problem mit Umlauten bei xcopy

Frage Entwicklung Batch & Shell

Mitglied: joe65

joe65 (Level 1) - Jetzt verbinden

16.09.2013 um 14:35 Uhr, 6643 Aufrufe, 13 Kommentare

Hallo,

ich habe in einem Verzeichnis "Überweisungen" verschiedene Textfiles, deren Namen Umlaute enthalten (ä, ö, ü)
der folgende Code liefert mir wegen dieser Umlaute nicht die richtigen Namen:
01.
@echo off 
02.
setlocal 
03.
cls 
04.
mode con: cols=130 lines=50 
05.
set "Ergebnisdatei=Gefundene_Dateien.txt" 
06.
chcp 1252>nul 
07.
xcopy /LSYH /D:09-16-13 "D:\Meine_Dateien\Überweisungen" c:\>>%Ergebnisdatei% 
08.
chcp 850>nul
In der Ergebnisdatei stehen dann weder der Verzeichnisname noch die Dateinamen korrekt drin.
Ich hab schon verschiedene Sachen ausprobiert und auch in der Suchfunktion nach ähnlichen Problemen gesucht.
Bin aber leider nicht weitergekommen.
Ich habe das Betriebssystem Windows7.

Grüße
joe65
Mitglied: colinardo
16.09.2013, aktualisiert um 17:33 Uhr
Hallo joe65,
sieht so aus als würde xcopy egal welche Optionen man auf der Kommandozeile einstellt immer nur mit der Codepage 850 Befehlsausgaben weiterleiten.
Was bei meinen Tests funktioniert hat ist folgendes:
01.
@echo off & setlocal 
02.
set "Ergebnisdatei=Gefundene_Dateien.txt" 
03.
cmd /U /c "for /f "delims=" %%k IN ('xcopy /LSYH /D:09-16-13 "D:\Meine_Dateien\Überweisungen" c:\') DO @(echo %%k >>%Ergebnisdatei%)"
Das Script nutzt den Parameter /U des Befehlsinterpreters um alle Ausgaben im Unicode-Format zu formatieren. Da dieser Parameter nur für interne Befehle der Shell gilt müssen die Zeilen von der xcopy-Ausgabe zusätzlich nochmal via echo ausgegeben werden.

Grüße Uwe
Bitte warten ..
Mitglied: joe65
16.09.2013 um 19:00 Uhr
Hallo Uwe,

hab dein Beispiel ausprobiert. Funktioniert aber bei mir nicht.
Ich bekomme die Meldung "Datei Überweisungen nicht gefunden", wobei beim Wort "Überweisung" das Ü durch eine Art Rechteck ersetzt wurde.
Wenn ich vor Zeile 03 noch chcp 1252>nul dazuschreibe wird das Verzeichnis "Überweisungen" zwar gefunden, aber die Namen der Dateien in diesem Verzeichnis, welche Umlaute haben werden nicht korrekt wiedergegeben.

Grüße
joe65
Bitte warten ..
Mitglied: colinardo
16.09.2013 um 19:38 Uhr
Stimmt, hatte das "D:\Meine_Dateien\Überweisungen" bei mir mit einem anderen Ordner getestet der kein Umlaut im Namen hatte. Wenn du das aber mal mit einem Ordner ohne Umlaut testest geht es. Habe dafür im Moment keine Lösung außer das du den Ordner in "Ueberweisungen" umbenennst. Ansonsten kehr xcopy den Rücken und nehm Robocopy, das hat eine vernünftige Log-Funktionalität.
Grüße Uwe
Bitte warten ..
Mitglied: colinardo
16.09.2013 um 19:59 Uhr
hab doch noch eine Lösung gefunden: (man beachte das "š" Zeichen anstatt des "Ü")
01.
@echo off & setlocal 
02.
set "Ergebnisdatei=Gefundene_Dateien.txt" 
03.
cmd /U /c "for /f "delims=" %%k IN ('xcopy /LSYH /D:09-16-13 "D:\Meine_Dateien\šberweisungen" c:\') DO @(echo %%k >>%Ergebnisdatei%)"
Grüße Uwe
Bitte warten ..
Mitglied: 106543
17.09.2013 um 12:55 Uhr
Hi Uwe,

mich würde interessieren, wie du auf das "komische" Zeichen gekommen bist

Grüße
Dome
Bitte warten ..
Mitglied: joe65
17.09.2013 um 13:48 Uhr
Hallo Uwe,

habe folgendes mit Befehl Robocopy probiert:
01.
@echo off 
02.
setlocal 
03.
set "Ergebnisdatei=Gefundene_Dateien.txt" 
04.
robocopy D:\Meine_Dateien\Überweisungen d:\ /s >> %Ergebnisdatei%
Auch hier bekomme ich die Fehlermeldung:
FEHLER 2 (0x00000002) Zugriff auf Quellverzeichnis D:\Meine_Dateien\Überweisungen\
Das System kann die angegebene Datei nicht finden.

Nachdem ich das Verzeichnis in "Ueberweisungen" umbenannt habe kam die Fehlermeldung nicht mehr, aber
1) hat er die Sachen ins d:\ Verzeichnis kopiert. Das will ich aber nicht. xcopy mit /L macht keine eigentliche Kopie sondern schreibt mir die Dateien nur in die Ergebnisdatei.
Beim "robocopy"-Befehl scheint es keine analoge Option zu /L wie bei xcopy zu geben.
2) Die Dateien mit Umlauten werden auch hier nicht korrekt wiedergegeben.

Grüße
joe65
Bitte warten ..
Mitglied: rubberman
17.09.2013, aktualisiert um 15:31 Uhr
Hallo joe65.

Beim "robocopy"-Befehl scheint es keine analoge Option zu /L wie bei xcopy zu geben.
Doch gibt es, und zwar /L, wie dir ein Blick in die Hilfe (robocopy /?) bereits gezeigt hätte.
Die Dateien mit Umlauten werden auch hier nicht korrekt wiedergegeben.
Dann schmeiß die Umlaute raus und benenne die Dateien/Verzeichnisse entsprechend um.
Ebenso wirst du immer mal wieder Probleme mit &, % und ! in Dateinamen haben. Also, wenn du vorhast mit der CMD zu arbeiten, sorge vor und benutze so etwas von vorn herein nicht.

Grüße
rubberman
Bitte warten ..
Mitglied: Endoro
17.09.2013 um 15:51 Uhr
Hi,
mit ROBOCOPY geht es so (britisches BS am cmd Prompt, für batch oder andere Sprachen ggf. anpassen):
01.
cmd /u /c (for /f "tokens=3*" %a in ('"robocopy "D:\Meine_Dateien\Überweisungen" "%temp%"  /l |find "New File""') do @echo %b)>logfile.txt
Ich hab hier unter Win8 mit keiner code page (850 oder 1252) Probleme mit den Umlauten.
Und das bei eingestelltem Rasterfont.
lg.
Bitte warten ..
Mitglied: joe65
17.09.2013 um 18:39 Uhr
Hallo rubberman,

werde die Umlaute rausnehmen und die Frage schließen.
Was mir aber nicht ganz klar ist, warum die Umlaute eigentlich nicht korrekt angezeigt werden, denn Codepage 850 (auch 1252) beinhaltet doch diese Umlaute.
siehe Link: http://www.i8086.de/zeichensatz/code-page-850.html

Grüße
joe65
Bitte warten ..
Mitglied: colinardo
17.09.2013, aktualisiert um 19:10 Uhr
Zitat von 106543:
Hi Uwe,
mich würde interessieren, wie du auf das "komische" Zeichen gekommen bist
Das Zeichen "š" steht in der Codepage 1252 an der dezimalen Stelle 154. Wenn du dir dann als Vergleich die Codepage 850 ansiehst steht dort bei Dezimal 154 das Ü. Da der Standard-Editor Notepad Dateien standardmäßig in ANSI(CP 1252) verfasst kann man dieses Zeichen anstatt des Ü eintragen, es wird dann unter der CP850 der Shell als Ü interpretiert.
Erzeugen kann man das Zeichen indem man ALT gedrückt hält und auf der Nummerntastatur 154 eingibt und dann ALT wieder loslässt.
Grüße Uwe
Bitte warten ..
Mitglied: rubberman
17.09.2013 um 23:28 Uhr
Hallo joe65.

Zitat von joe65:
Was mir aber nicht ganz klar ist, warum die Umlaute eigentlich nicht korrekt angezeigt werden, denn Codepage 850 (auch 1252) beinhaltet doch diese Umlaute.

Beinhalten ist richtig, aber sie werden durch unterschiedliche Bytes repräsentiert. Die Codepage gibt an zu welchem Zeichen ein gelesenes Byte interpretiert wird. Wenn du auf der sicheren Seite sein willst, dann verwende nur die Standard ASCII Zeichen, die mit 7 Bit Breite auskommen. Diese sind in jeder Codepage gleich. Davon aber auch nur die druckbaren Zeichen und ohne die, die einen Sonderstatus in der Kommandozeile haben

Grüße
rubberman
Bitte warten ..
Mitglied: pieh-ejdsch
18.09.2013, aktualisiert um 13:34 Uhr
moin,

Wenn keine Unicodeausgabe gewünscht ist, der Batch mit Umlauten verfasst wurde und der Log in ANSI sowie die CMD die Umlaute richtig zeigt, in etwa so:
01.
@echo off 
02.
setlocal 
03.
mode con: cols=130 lines=50 
04.
set "Ergebnisdatei=Gefundene_Dateien.txt" 
05.
chcp 1252>nul 
06.
set "Quelle=D:\ADtest\test2\Ä-Ae;Ö-Oe;Ü-Ue;ä-ae;ö-oe;ü-ue;ß-sz" 
07.
set "QT=" 
08.
for %%i in ("%quelle:\=" "%") do set /a qt+=1 
09.
3>"%Ergebnisdatei%" ( 
10.
 for /f "delims=" %%P in ('Dir /S /b /a-d-l "%Quelle%"') do for /f "tokens=%qt%*delims=:\" %%E in ("%%P") do ( 
11.
  xcopy /iLYH /D:09-16-13 "%%P" "C:\Ziel\%%F*" |find /v "0 Datei(en) kopiert" &&>&3 echo %%P 
12.
)) 
13.
chcp 850>nul
Gruß Phil
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Problem mit bestimmten Umlaut
gelöst Frage von joe65Batch & Shell6 Kommentare

Hallo, ich muss nochmal hier nachfragen, da ich mit einen Umlaut (=ß) ein Problem habe und ich nicht weiterkomme. ...

HTML
Problem Joomla3.3, php5.6 und Umlaute
Frage von charly74HTML4 Kommentare

Hallo, mir dachte das Problem der Kollationen schaffe ich irgendwie - aber offenbar schaffen diese mich Vielleicht kann mir ...

Google Android
Android Programmierung Problem mit Codierung von Umlauten
gelöst Frage von 115122Google Android7 Kommentare

Hallo, folgendes Problem: Es gibt eine Textdatei, in welcher z.B. folgender String steht: "monatliche Prüfungen". Die App bezieht bestimmte ...

Batch & Shell
Xcopy funktioniert nicht
gelöst Frage von ghostXBatch & Shell3 Kommentare

hallo Liebe Leute, möchte in einer Batch-Datei mittels xcopy Dateien von a nach b kopieren. Das knifflige an der ...

Neue Wissensbeiträge
Windows 10

Autsch: Microsoft bündelt Windows 10 mit unsicherer Passwort-Manager-App

Tipp von kgborn vor 1 TagWindows 104 Kommentare

Unter Microsofts Windows 10 haben Endbenutzer keine Kontrolle mehr, was Microsoft an Apps auf dem Betriebssystem installiert (die Windows ...

Sicherheits-Tools

Achtung: Sicherheitslücke im FortiClient VPN-Client

Tipp von kgborn vor 1 TagSicherheits-Tools

Ich weiß nicht, wie häufig die NextGeneration Endpoint Protection-Lösung von Fortinet in deutschen Unternehmen eingesetzt wird. An dieser Stelle ...

Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 1 TagInternet5 Kommentare

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 2 TagenDSL, VDSL2 Kommentare

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Heiß diskutierte Inhalte
Batch & Shell
Kann man mit einer .txt Datei eine .bat Datei öffnen?
Frage von HelloWorldBatch & Shell16 Kommentare

Wie schon im Titel beschrieben würde ich gerne durch einfaches klicken auf eine Text oder Word Datei eine Batch ...

Router & Routing
OpenWRT bzw. L.E.D.E auf Buffalo WZR-HP-AG300H - update
gelöst Frage von EpigeneseRouter & Routing11 Kommentare

Guten Tag, ich habe auf einem Buffalo WZR-HP-AG300H die alternative Firmware vom L.E.D.E Projekt geflasht. Ich bin es von ...

Windows Server
Ping auf einen bestimmten Server nicht möglich
gelöst Frage von a.thierWindows Server7 Kommentare

Hallo, ich habe folgendes Problem. srv-dc1: Ping srv-nav > geht Ping srv-exchange > geht nicht srv-exchange: Ping srv-dc1 > ...

Hardware
Fujitsu Workstation mit K80 und Quadro P5000, Fehlermeldung: Connect Power Adapter
Frage von MachelloHardware7 Kommentare

Hallo Zusammen, ich benötige euren Rat da ich ratlos bin. Folgende Konfiguration im Büro: Fujitsu Workstation Celcius R940 Power ...