Lio*_*eow 3 batch-file windows-2000
我一直在搞 CMD,并制作动画 ascii 艺术。我一直试图在我的 Windows 2000 笔记本电脑上使用 Timeout 命令,但是每次我尝试这样做时,它只是说它不是内部或外部命令或批处理文件。
这是一台运行 Windows 2000 的旧东芝 3110CT 笔记本电脑;我在某个时候从旧货店买的。我已经在我的 Windows 10 笔记本电脑上尝试过这个,代码在那里运行得非常好,但 2000 笔记本电脑是我的编码笔记本电脑,如果它在那里,我会喜欢它。
@echo off
cd %SystemRoot%\system32\
timeout.exe /t 1 /nobreak >nul
Run Code Online (Sandbox Code Playgroud)
我希望它等待一秒钟,然后显示我的 ascii 动画的下一帧。相反,它只是告诉我“'timeout.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。”
根据这篇文章,timeout
仅在家庭版 Windows 中引入,从 Vista 开始。因此,使用timeout
在 Windows 2000 上不起作用(但可以在Windows Server 2000 上工作)。
如果您仍然需要让批处理等待,您可以使用这个 hackyping
调用让批处理等待一段时间(以毫秒为单位)。
要让您的批次等待 1 秒,请执行以下操作:
ping 127.255.255.255 -n 1 -w 1000 >nul
Run Code Online (Sandbox Code Playgroud)
解释:
127.255.255.255
是一个本地环回地址,专门用于广播目的(至少在 Windows 中)。对此地址发出的任何请求都不会重新传输到客户端计算机。-n [number]
表示命令应该尝试 ping 该地址的次数,在本例中为 1 次。-w [number]
表示命令在超时之前应等待响应的时间(以毫秒为单位),在本例中为 1000 毫秒。>nul
使输出从 stdout 重定向到 null,因此ping
命令的实际输出不会显示在您的命令提示符上。如果您想要超级安全,您还可以通过2>nul
在末尾添加将 stderr 的输出重定向到 null 。