XCopy со специальными символами
Xcopy в моем командном файле неправильно копирует специальные символы. Š превращается в è. Есть и другие забавные символы, которые также изменены.
Это команда в командном файле:
dir "\\USATL02ERAS40\auditfiles\Loblaws\LCL_2016\Z-DT\NDS 2016\LCL SUPPLIED 2016\*.xls*" /A /B /S > XLSVndDir1.tx
Это имя файла:
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
Это вывод в моем текстовом файле:
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
Как мне получить правильное имя с помощью специальных символов?
1 ответ
Яркий случай с моджибаке.
Кодировка целевого файла >
перенаправление в командной строке Windows строго зависит от (и по умолчанию) активной кодовой страницы (если только в cmd /U
).
Пример:
==> 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
==>