2016-06-20 5 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)をチェックすることができます。コードページ_65001_はUTF-8です – elzooilogico