窗口蝙蝠文件不与德国变音符号一起使用

时间:2017-03-30 13:00:29

标签: java batch-file character-encoding

我正在从java程序创建一个.bat文件:

 final OutputStreamWriter fop = new OutputStreamWriter( new FileOutputStream( "test.bat" ), Charset.forName( "UTF8" ) );

并使用Runtime.getRuntime().exec();执行它         在目录(C:\ usr \ testdir)

@echo off
cd C:\usr\testdir
echo "hello"

Above bat文件执行成功。 但是当我更改包含德语变音符号的目录路径时,它会给我错误。: The system cannot find the path specified dir路径(C:\ usr \wÖrkingÄÜÖ)和./bat将是相同的:

@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"

所以问题是包含umlauts的路径。在Google帮助之后,我在bat文件的顶部添加chcp 652001来更改pageCode,但问题仍然保持不变。任何人都可以帮助我,我错过了什么?

2 个答案:

答案 0 :(得分:4)

您应该使用65001,而不是652001。试试这个:

CHCP 65001
@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"

这应该强制批处理文件使用应该支持变音符号的UTF-8字符集。

enter image description here

答案 1 :(得分:0)

我遇到了类似的问题,并通过添加

解决了该问题
chcp 1252

到CP1252编码的批处理文件。