2016-06-20 4 views
0

Я пытаюсь запустить скрипт на 2008 Server, который вызывает пакетный файл со следующими параметрами:Windows, партия: Forfiles выходных файлов с фантастическими персонажами

forfiles -p %log_dir% -s -m *.* -d -3 /C "cmd /c echo @path" > %cfg_dir%\Filelist.txt" 

Моя проблема заключается в том, что вывод, что в настоящее время записываются в файл, когда имя файл имеет не-ASCII символы (такие как é, ç, ã), она написана с неправильными символами, например:

файл найден в

S:\FOLDER\SUBFOLDER\0_Certi**dão** Predial.pdf 

и это записывается в выходной файл, как

"S:\FOLDER\SUBFOLDER\0_Certi**d¦o** Predial.pdf" 

Я уже изменил кодировку до 850 (было 470), но выход все-таки выходит то же самое.

ответ

0

попробовать

for /f "tokens=2 delims=:" %%a in ('chcp') do set src_cp=%%a 

chcp 65001 & rem or chcp 1212 

forfiles -p %log_dir% -s -m *.* -d -3 /C "cmd /c echo @path" > %cfg_dir%\Filelist.txt" 

chcp %src_cp% 
+0

приведенный выше код брейки я не знаю, где, но ты дал мне большую помощь. Я включил строку chcp 65001 перед командой forfiles, которую я написал ранее, и это сработало. еще раз спасибо. – biocoma

+0

@ биокома, кстати, я думаю, что ваш язык португальский, вы можете проверить [link] (https://technet.microsoft.com/es-es/library/bb490874.aspx). codepage _65001_ - UTF-8 – elzooilogico