2015-05-29 35 views
-7

我试图模拟与ASCII字符的进度条,但不管什么时候我的进度条为0%以上饱满,显示消息echo is OFF进度条显示“回声OFF”消息

@echo off 
setlocal EnableDelayedExpansion 
color A 
echo hacking main intelligence systems... 
ping -n 2 127.0.0.1>nul 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo Loading...  Please Wait 
echo --------------------------------------- 
echo         :0 ] 
echo --------------------------------------- 
ping localhost -n 2 >nul 
cls 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo Loading.   Please Wait 
echo --------------------------------------- 
echo ||         :5 ] 
echo --------------------------------------- 
ping localhost -n 3 >nul 
cls 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo Loading..   Please Wait 
echo --------------------------------------- 
echo ||||        :15 ] 
echo --------------------------------------- 
ping localhost -n 2 >nul 

脚本继续像这样一段时间,但这段代码更小,并具有相同的问题。

是什么导致出现的消息,我怎么能正确显示栏进展如何?

+0

欢迎来到Stack Overflow!我们确实真的不喜欢恶作剧脚本。老实说,如果你已经编造了一些关于你如何制作电子游戏的内容(或者更好,因为_it并不重要,所以完全忽略了背景故事),那么你可能不会有那么多的降价。您的实际“为什么我得到一个的问题‘回声关闭’的错误是完全正常的。失去了背景故事,并编辑你的问题实际上包含的代码(我们也真的很讨厌的外部链接的代码)。 – SomethingDark

回答

1

你为什么你echo s的不工作的实际问题,是完全合理的,这是对于初学者来说极其常见的错误。

|是一个符号,它有一个命令的输出,并使用它作为另一命令的输入。在你的情况下,你自己实际上有echo,它将简单地返回echo的状态(在这种情况下,回声是OFF)。

为了解决这个问题,您可以使用不同的符号,或者您可以在文本编辑器中打开代码并将|的所有实例替换为^|

^是转义字符,它告诉echo逐字解释符号并打印实际|代替使用它来路由指令输出的。

@echo off 
setlocal EnableDelayedExpansion 
color A 
echo hacking main intelligence systems... 
ping -n 2 127.0.0.1>nul 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo Loading...  Please Wait 
echo --------------------------------------- 
echo         :0 ] 
echo --------------------------------------- 
ping localhost -n 2 >nul 
cls 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo Loading.   Please Wait 
echo --------------------------------------- 
echo ^|^|         :5 ] 
echo --------------------------------------- 
ping localhost -n 3 >nul 
cls 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo. 
echo Loading..   Please Wait 
echo --------------------------------------- 
echo ^|^|^|^|        :15 ] 
echo --------------------------------------- 
ping localhost -n 2 >nul 
+0

好!感谢它的工作原理,顺便说这不是一个恶作剧 –

+0

@ElidjayRoss - 。很高兴帮助如果我的解决方案为你工作,请点击旁边的选中标记我的答案。 – SomethingDark