Windows批处理:forfiles输出具有奇怪字符的文件名

时间:2016-06-20 11:10:26

标签: batch-file filenames codepages

我正在尝试在2008 Server上运行一个脚本,该脚本使用以下参数调用批处理文件:

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"

我已经将charset更改为850(它是470),但输出仍然是相同的。

1 个答案:

答案 0 :(得分: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%