Nos*_*haf 3 java batch-file character-encoding
我正在从 java 程序创建一个 .bat 文件:
final OutputStreamWriter fop = new OutputStreamWriter( new FileOutputStream( "test.bat" ), Charset.forName( "UTF8" ) );
Run Code Online (Sandbox Code Playgroud)
并Runtime.getRuntime().exec();
在目录 (C:\usr\testdir) 中执行它
@echo off
cd C:\usr\testdir
echo "hello"
Run Code Online (Sandbox Code Playgroud)
上面的bat文件执行成功。但是当我更改包含德语变音符号的目录路径时,它给了我错误。:
The system cannot find the path specified
其中 dir 路径 (C:\usr\wÖrkingÄÜÖ) 和 ./bat 将相同:
@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"
Run Code Online (Sandbox Code Playgroud)
所以问题是包含变音的路径。Google 帮助后,我chcp 652001在 bat 文件的顶部添加以更改 pageCode,但问题仍然保持不变。任何人都可以帮助我我所缺少的吗?
您应该使用65001,而不是652001。尝试这个:
CHCP 65001
@echo off
cd C:\usr\wÖrkingÄÜÖ
echo "hello"
Run Code Online (Sandbox Code Playgroud)
这应该会强制批处理文件使用支持变音的 UTF-8 字符集。