2016-06-20 51 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