2016-06-20 58 views
0

我想2008年的服务器,该服务器调用与下列参数的批处理文件上运行脚本: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

上面的代码中休息我不知道在哪里,但你并给了我很大的帮助。 我在之前编写的forfiles命令之前包含了行 chcp 65001,它工作正常。再次感谢。 – biocoma

+0

@ biocoma我认为你的语言是葡萄牙语,你可以查看[link](https://technet.microsoft.com/es-es/library/bb490874.aspx)。 codepage _65001_是UTF-8 – elzooilogico