Echo吐出怪异的角色

问题描述 投票:0回答:3

我正在尝试批量生成加载屏幕,以便在批处理超时时查看。当我在cmd中键入代码时,我只是打开它的工作原理。但是编写一个批处理文件并启动它会给我这个结果:

码:

timeout /t 1 /nobreak
cls
echo It's almost Done.
echo      Loading
echo ╔════════════════╗
echo ║▓░░░░░░░░░░░░░░░║
echo ╚════════════════╝

输出:

It's almost Done.
     Loading
ÔòöÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòù
ÔòæÔûôÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔûæÔòæ
ÔòÜÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòÉÔòØ

我不明白问题出在哪里。

为什么在通过WINDOWS + R启动cmd时它正在工作,而在仅启动批处理文件时则不行。

batch-file echo
3个回答
0
投票

如果更改代码页,则可以显示这些字符,假设您的控制台字体支持它们。

将其添加到批处理的顶部:

CHCP 65001 >nul

您的完整批次将是:

chcp 65001 >nul
timeout /t 1 /nobreak
cls
echo It's almost Done.
echo      Loading
echo ╔════════════════╗
echo ║▓░░░░░░░░░░░░░░░║
echo ╚════════════════╝

Results of batch


0
投票

或者你可以尝试这个,这假设用户控制台字体等。

Timeout 1 /NoBreak
ClS
Echo It's almost Done.
Echo      Loading
Echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
Echo º²°°°°°°°°°°°°°°°º
Echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ

0
投票

要确保Unicode字符保存到批处理文件并确保使用unicode字符正确运行批处理,请执行以下操作:

打开cmd.exe

复制下面的所有内容并“右键单击”并粘贴代码,粘贴后按Enter键

在执行此操作之前,请将最后的batch.cmd名称更改为您自己的脚本名称:

chcp 65001
(echo @echo off
 echo chcp 65001
 echo timeout /t 1 /nobreak
 echo cls
 echo echo It's almost Done.
 echo echo      Loading
 echo echo ╔════════════════╗
 echo echo ║▓░░░░░░░░░░░░░░░║
 echo echo ╚════════════════╝
)>batch.cmd
© www.soinside.com 2019 - 2024. All rights reserved.