XCopy mit Sonderzeichen

890
alex

Die xcopy in meiner Batchdatei kopiert die Sonderzeichen nicht korrekt. Aus dem Š wird ein è. Es gibt andere lustige Zeichen, die ebenfalls geändert werden.

Dies ist der Befehl in der Batchdatei:

dir "\\USATL02ERAS40\auditfiles\Loblaws\LCL_2016\Z-DT\NDS 2016\LCL SUPPLIED 2016\*.xls*" /A /B /S > XLSVndDir1.tx 

Dies ist der Dateiname:

1027948_16356344_wk 35 @NIVEA BODY@48965 Body 625ml 77240 CrŠme Soft 250-200ml 24253 Inshower @ AD @ $0 30 $0 50 $0 05 @ RCWC EF_VS.xlsm 

Dies ist die Ausgabe in meiner Textdatei:

1027948_16356344_wk 35 @NIVEA BODY@48965 Body 625ml 77240 Crème Soft 250-200ml 24253 Inshower @ AD @ $0 30 $0 50 $0 05 @ RCWC EF_VS.xlsm 

Wie erhalte ich mit den Sonderzeichen den richtigen Namen?

1
Wenn Sie `type 'verwenden, um den ausgegebenen Text in der Eingabeaufforderung anzuzeigen, welches Zeichen wird angezeigt (Š oder è)? Ƭᴇcʜιᴇ007 vor 6 Jahren 1
Was hat 'xcopy' mit Ihrem Problem zu tun? Ihre Batch-Datei verwendet 'dir'. DavidPostill vor 6 Jahren 1
Entschuldigung, ich meinte dir, nicht xcopy. Alex vor 6 Jahren 0
Bitte bearbeiten Sie Ihre Frage mit den richtigen Informationen. Twisty Impersonator vor 6 Jahren 0

1 Antwort auf die Frage

0
JosefZ

Flagrant Mojibake- Fall.

Die Kodierung einer Zieldatei für die >Umleitung in der Windows-Befehlszeile hängt streng von der aktiven Codepage ab (und standardmäßig auf diese) (sofern nicht in cmd /U).

Beispiel:

==> dir /b /S ".\files\1207235\*.txt" d:\bat\files\1207235\Crème.txt  ==> del 1207235log.txt  ==> chcp 437 Active code page: 437  ==> >>1207235log.txt dir /b /S ".\files\1207235\*.txt"  ==> chcp 1252 Active code page: 1252  ==> >>1207235log.txt dir /b /S ".\files\1207235\*.txt"  ==> ==> type 1207235log.txt d:\bat\files\1207235\CrŠme.txt d:\bat\files\1207235\Crème.txt  ==> chcp 437 Active code page: 437  ==> type 1207235log.txt d:\bat\files\1207235\Crème.txt d:\bat\files\1207235\CrΦme.txt  ==>