1

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 ответ1

0

Яркий случай с моджибаке .

Кодирование целевого файла перенаправления > в командной строке 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

==>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .