迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

批量设置命令超时时间

作者:迹忆客 最近更新:2023/08/14 浏览次数:

本文将首先讨论批处理脚本中超时命令的概念。 之后,我们将讨论为任何其他命令设置超时命令。


批处理脚本中的超时命令

超时是暂停或延迟特定时间段的实用程序。 此命令会进行一定量的中断并在命令行界面上创建暂停。

超时命令的语法如下:

timeout /t <time in seconds> [/nobreak]

/t 的命令 timeout 用于创建延迟,后跟 <以秒为单位的时间>(从 -1 到 100000 的整数,表示创建延迟的时间量(以秒为单位))以及可选参数 /nobreak

如果我们将 -1 与超时命令一起使用,它将产生无限期的延迟,直到按下任意键为止。

考虑以下超时命令:

timeout /t 5

timeout /t 5 命令延迟 5 秒或直到未按下任何键。 命令输出如下:

批量超时 - 输出 1

可选参数 /nobreak 用于忽略超时命令创建的延迟期间的任何击键。 例如,考虑以下命令:

timeout /t 5 /nobreak

以下命令的输出如下:

批量超时 - 输出 2

我们还可以隐藏超时命令消息。 命令 timeout /t 5 > nul 用于通过将输出消息重定向到 nul 来隐藏超时命令的消息。


为任何其他命令或进程设置超时

我们可以延迟任何其他自定义命令或进程的超时。 考虑以下批处理脚本:

@echo off
start  notepad.exe
timeout /t 4
taskkill /f /im  notepad.exe > nul && (
   echo Task is killed.
   exit /b 31744
) || (
   echo No Command or Task to kill. The task is terminated in time.
)

在上面的批处理脚本中,我们使用@echo off命令从命令提示符中隐藏正在执行的命令。 start notepad.exe 命令用于启动进程并启动记事本编辑器窗口。

命令 timeout /t 4 命令延迟 4 秒,然后执行 taskkill 命令,该命令将杀死 notepad.exe 进程(如果尚未杀死)。

此外,该脚本显示任务已被终止。 如果 taskkill 命令终止 notepad.exe 进程,则在终端上显示。

如果 notepad.exe 在超时延迟期间已被终止,则 taskkill 命令将不会终止 notepad.exe 并显示错误消息以及以下输出:

没有要杀死的命令或任务。 任务及时终止。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便