Batch file 如何在Microsoft Windows环境中同时运行40个wget命令?
我想使用wget命令对网站进行压力测试。如何在Microsoft Windows环境中同时运行40个wget命令Batch file 如何在Microsoft Windows环境中同时运行40个wget命令?,batch-file,command-line,Batch File,Command Line,我想使用wget命令对网站进行压力测试。如何在Microsoft Windows环境中同时运行40个wget命令 我已尝试编写命令脚本,但wget命令将一个接一个地触发。使用&运算符和启动命令: C:\> start wget URL1 & start wget URL2 & start wget URL3..... 您可以使用for/L运行循环40次,并使用start无需等待即可启动程序。从命令行: for /L %a in (1 1 40) do start wget
我已尝试编写命令脚本,但wget命令将一个接一个地触发。使用
&
运算符和启动
命令:
C:\> start wget URL1 & start wget URL2 & start wget URL3.....
您可以使用
for/L
运行循环40次,并使用start
无需等待即可启动程序。从命令行:
for /L %a in (1 1 40) do start wget the_url
从批处理文件中,除了使用%%a
而不是%a
之外,您将使用相同的命令
由于wget是一个命令行程序,您将看到40个新的控制台窗口打开,当wget命令完成时,这些窗口将自动关闭。您可以通过使用start/b
在同一控制台中运行所有命令来避免这种情况。在本例中,我还将通过管道将每个命令的输出传输到NUL,以避免四十个实例写入同一控制台
for /L %a in (1 1 40) do start /b wget the_url >nul
问题应该重定向到:另外,您确定运行40个wget命令是对网站进行压力测试的最佳方式吗?如果您建立的并发连接超过20个,则需要禁用速率限制。请参阅
start/b
将以非阻塞方式启动每个线程,但在同一窗口中。&
不会使它们同时启动。每个实例只有在前一个实例退出后才会启动。@rojo-只有在使用了/WAIT选项时才是这样。这个解决方案应该是可行的,但将每个START WGET放在一个新行上,并抛弃&
,会更简单。我很确定START
在我留下评论时不是一个好主意。狡猾<代码>-