怎样让CMD执行完一条指令过一定的时间执行下一条指令?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎样让CMD执行完一条指令过一定的时间执行下一条指令?相关的知识,希望对你有一定的参考价值。

我试过了,这个不能用:
@echo off
echo hello
>nul ping 127.1 /10
echo world
pause
有没有其他的办法,求大神帮忙!!!
谢谢!
是批处理,我想在批处理文件中延迟执行命令。

Windows Vista以上的系统只要使用timeout代码就行了,示例:
timeout /t 30 ::表示延时30秒执行下一行命令
参考技术A 计算机钟周期(主频倒数)钟周期cpu仅完基本作完基本操作间机器周期般由几钟周期组;完条指令指令周期般由几机器周期组指令同机器周期数同
我本本1.6G 例 机器周期由两钟周期组平均三机器周期完条指令(要假设我看)
钟周期1/(1.6*1024m)=0.61ns 机器周期0.61*2=1.22ns
平均指令周期3*1.22ns=3.66ns
平均指令执行速度1/(3.66ns)=273.22MIPS(百万条指令每秒)
计算条件假设晶振我知
致算我数算错请指教追问

我不是问计算机的周期,这个我知道,我是想解决我的问题。

本回答被提问者和网友采纳

操作系统

1.寄存器:

CS:EIP寄存器 

指令指针寄存器

ip(16位)或eip(32位)专门用来存放下一条即将执行的机器指令的偏移地址

ip的值在执行完一条指令后自动递增,指令的大小不同,其大小是1~6字节。

cs和ip或cs和eip一起构成了下一条即将执行的指令的完整地址。

ip和eip寄存器是唯一即不能直接读出,也不能直接写入的寄存器。

MOV指令

MOV指令是传输指令,MOV就是传送的意思(连续执行),例如我要将一个数据传送到某个寄存器

JMP系列指令

跳转指令: 分为相对转移和绝对跳转。绝对转移是直接跳转到内存地址 。相对跳转是跳转到X字节后的位置在计算时候跳转指令和目的地址的数据都不计算在内

 

CPU通过CS:EIP寄存器的值确定下一条指令的位置,但是CPU并不允许直接使用MOV指令来更改EIP的值,必须通过JMP系列指令、CALL/RET指令、或INT中断指令来实现代码的跳转;在指令序列间切换的时候,除了更改EIP之外,我们还要保证代码可能会使用到的各个寄存器的值,尤其是栈指针SS:ESP,以及EFLAGS标志位等,都能够恢复到目标指令序列上次执行到这个位置时候的状态

以上是关于怎样让CMD执行完一条指令过一定的时间执行下一条指令?的主要内容,如果未能解决你的问题,请参考以下文章

如何让CMD执行一条命令后等待一定时间再执行下一条命令

批处理 for 执行完一条命令以后再执行下一条

bat如何执行完一条cmd命令,然后在同一窗口继续执行别的命令呢?

c语言中怎么让程序执行完一条指令后过几秒再执行第二条指令

单片机pc指针

操作系统