请解释下这个批处理的语句

来源:百度知道 编辑:UC知道 时间:2024/06/16 09:21:43
刚在在百度知道看到这个实时显示时间的批处理,但看不明白
@echo off
echo %time:~0,-3%
ping -n 2 127.1>nul&cls&%0

%time:~0,-3% 这个格式什么意思?
&%0 还有这个是什么意思?

先谢谢各位了

楼上的,不要误导人家

1.
&& 才是ping通才清屏
但& 不是, 无论结果如何都会清屏

2.
127.1是本机地址,完全可以ping通的。

3.
ping -n 2 127.1>nul&cls&%0
这里并不存在什么如果。。。就。。。否则 的关系

@echo off
关闭回显 不显示命令本身,仅显示结果

echo %time:~0,-3%
echo 显示命令
%time% 系统时间
%time:~0,-3%
截取系统时间字符串,从开始到最后第4位 【省略后3位】
因为最后3位是千分秒,你只要时分秒,就行了

ping -n 2 127.1>nul&cls&%0
ping 是检测网络的命令
这里127.1 是本机的地址
-n 2 是指定检测两次
>nul 是不需要看到检测结果
实际是这是用来延时用的

& 是连接命令用的
CLS 是 清屏。。
%0 是代表批处理本身
有了这句,批处理就能无限循环执行自己了。
如果没有,只能执行一次

PS: 再加几个命令 可以更好看一点

@echo off&color 9f& mode con cols=25 lines=5& title 当前时间
echo %time:~0,-3%& ping -n 2 127.1>nul&cls&%0

%time:~0,-3% 是指显示系统时间,显示方式是小时:分钟:秒
%%之间的东西是调用系统时间
&%0 还有这个是什么意思?%0不要,要是错误的。
前面ping -n 2 127.1>nul&cls& 的意思是,如果ping通了就清屏(cls),否则就显示。明显ping不通的,所以就清屏,你可以挨个输入,看显示的效果。