在cmd中运行命令的时间限制

时间:2019-07-24 22:14:29

标签: windows curl cmd

我正在编写一个批处理文件,其中包含多个命令,并提供每个命令给定的输出。但是,某些命令不起作用,这会使代码花费更长的时间才能执行。我希望每条命令运行10秒钟,如果没有输出,请中止该命令并在批处理文件中运行下一条命令。

curl URL1
curl URL2
curl URL3
curl URL4

如果URL2不起作用,则需要更长的时间来执行。我希望每个curl命令都要检查10秒钟,然后中止并运行下一个curl命令。

1 个答案:

答案 0 :(得分:0)

因为您说的是编写批处理文件,所以我假设您使用的是cURL命令行实用程序的Windows端口,而不是PowerShell cmdlet curl的别名Invoke-WebRequest

cURL实用程序具有2 parameters,用于控制超时:

  

--connect-timeout <seconds>
  您允许连接服务器的最长时间(以秒为单位)。仅限制了​​连接阶段,一旦curl连接成功,该选项就不再有用。另请参见-m / --max-time选项。

     

[...]

     

-m/--max-time <seconds>
  您允许整个操作花费的最长时间(以秒为单位)。这对于防止批处理作业因网络或链接断开而挂起数小时很有用。另请参见--connect-timeout选项。

因此,您应该能够像这样运行语句:

curl --connect-timeout 10 --max-time 10 URL