我正在使用 Windows 7 Pro SP1 x64 French。
控制台(cmd.exe):
> chcp
Page de codes active : 850
> net start MyService
Le service ne répond pas à la fonction de maintenance.
Vous obtiendrez une aide supplémentaire en entrant NET HELPMSG 2186.
批次(UTF-8):
@call :begin 1>log.txt 2>&1
@exit /b
:begin
@chcp
@net start MyService
日志.txt (ANSI):
Page de codes activeÿ: 850
Le service ne r‚pond pas … la fonction de maintenance.
Vous obtiendrez une aide suppl‚mentaire en entrant NET HELPMSG 2186.
如何强制批处理具有与控制台相同的输出(正确打印法语字符)?
答案1
您可以尝试以这种方式使用临时文件并使用此命令将其重定向:
CMD /U /C Type tmplog.txt>log.txt
读取unicode:
@echo off
@call :begin
@call :begin 1>tmplog.txt 2>&1
CMD /U /C Type tmplog.txt>log.txt
Del tmplog.txt
Start "" /MAX log.txt
pause & exit /b
::--------------------------
:begin
net start Myservice
@exit /b
::--------------------------