bat中的退格符和延迟

#bat等待# #bat退格符#折腾半天。方法不止这些,仅提供我运行成功的
#bat 在同一行列输出# #bat 在同一位置输出#=很好的使用退格符
 
 
 
 

一:退格符

 
脚本1:光标退格(不删除字符)
注意:下面脚本中 set /p=<nul (如果用记事本打开回事一个黑点,不要替换成其他字符。貌似:ALT 小键盘输入127)
 
@echo off&for /l %%a in (1 1 18) do echo\
set /p=      <nul
for /l %%i in (1 1 70) do set /p=^|<nul
for /l %%i in (1 1 70) do set /p=<nul
for /l %%i in (1,1,70) do (
set/p=^><nul
for /l %%a in (1 1 1000) do ver>nul
)
echo\&echo\&pause
 
 
脚本2:设置退格符。看半天没看明白,不过能用。
 
执行代码后: %bs%等于了退格键。注意定义好变量名,避免重复。
@echo off
call:getbs bs
echo abc%bs%#
pause
:getbs 
for /F %%a in ('"prompt $h&for %%b in (1) do rem"')do Set "%~1=%%a"
 
 
 推荐使用脚本2中的getbs方法获取退格符
 

二:延迟

脚本3:等待时间,使用VBS的方式。(BAT中最烂的地方就是没有提供sleep)
 
将下面文件保存成sleep.bat
然后通过 call sleep.bat 1000 的方式来暂停1s
 
@echo off
set wait_sencents=%1
 
IF "%wait_sencents%" EQU "". (
set wait_sencents=0
) ELSE (
set /a wait_sencents=%wait_sencents%
echo wscript.sleep %wait_sencents%>sleep.vbs
call wscript sleep.vbs
)
 
 
脚本4:批处理等待ping 不存在的IP地址的方式

You can ping a random address and specify the desired timeout:

ping 123.45 . 67.89 - n 1 - w 10000 > nul 

And since the address does not exists, it'll wait 10,000 ms (10 seconds) and returns.(注意IP地址要不能存在的,上面语句会wait   10,000 ms

The -w 10000 part specifies the desired timeout in milliseconds.
The -n 1 part tells ping that it should only tries once (normally it'd try 4 times).
The > nul part is appended so the ping command doesn't output anything to screen.
 
 
rem ===============================================
其他:
 

您的资助是我最大的动力!
金额随意,欢迎来赏!
款后有任何问题请给我留言。

如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的推荐按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下绿色通道的关注我。(●'◡'●)

如果你觉得本篇文章对你有所帮助,请给予我更多的鼓励,求打             付款后有任何问题请给我留言!!!

因为,我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【Jack_孟】!

posted on 2021-06-08 16:53  jack_Meng  阅读(46)  评论(0编辑  收藏  举报

导航