最短可能的延迟时间

时间:2013-07-18 09:20:14

标签: batch-file delay

好的,所以我想知道CMD中所有不同类型的延迟是什么。 以下是我可以命名的一些内容:

SLEEP 1

ping 192.0.2.2 -n 1 -w 1 > nul

choice /d y /t 1 > nul

mkdir Folder
cd Folder
tree

最短的延迟时间是多少? 感谢。

2 个答案:

答案 0 :(得分:1)

我认为最短的精确时间是10毫秒,纯批次。 检查%time%变量(分辨率为10毫秒)。

wmic或其他外部程序的缺点是,加载和启动它们的时间通常比您想要等待的时间长。

答案 1 :(得分:0)

如果您想要一个非常可预测的短延迟,您可以编写一个调用nanosleep的小命令行实用程序。

#include <stdio.h>
#include <time.h>
#include <stdint.h>
#include <sys/time.h>

int main(int argc, char *argv[]) {
    struct timespec ts;

    // We want to sleep for 40ms
    ts.tv_sec = 0;
    ts.tv_nsec = 40L * 1000000L; // 1ms = 1 million nanoseconds
    nanosleep(&ts, NULL);
    return 0;
}

当然,通过从命令行获取延迟,可以使实用程序更加灵活。

编辑:正如评论者指出的那样,标准MS编译器中没有nanosleep。在那里,sleep可以作为替代。