windows - 并行运行带有循环变量的命令,最多同时运行 N 个

标签 windows shell command-line wget

我的服务器上有三千个文件。我可以通过 REST API 调用一次检索一个。我写了一个命令来检索这些文件。它运行完美,但在大约 200 次下载后我的登录超时。

我想并行而不是串行下载所有这些文件。理想情况下,我想一次检索 1-200 个文件,同时检索 200-400 个文件,同时检索 400-600 个文件......等等。

所以我的尝试:

FOR /L %i in (0,1,200) do wget --no-check-certificate --content-disposition  --load-cookies cookies.txt \ -p https://username:password@website.APICall.com/download/%i

如何将其转换为我想要创建的并行调用?

谢谢。

最佳答案

安装 Cygwin 和 GNU Parallel 后,您可以使用以下命令下载 3000 个文件以及 200 个并行下载:

seq 3000 | parallel -j 200 wget --no-check-certificate --content-disposition  --load-cookies cookies.txt -p https://username:password@website.APICall.com/download/{}

关于windows - 并行运行带有循环变量的命令,最多同时运行 N 个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29769965/

相关文章:

linux - SSH 命令在 Expect 脚本中的行为有所不同

linux - sed 无法使用 bash 脚本注释文件中的一行

command-line - 如何从命令行将参数传递给 Lua 函数?

windows - 更新一个 unicode 文件给我汉字

windows - 如何解决Powershell启动cmd路径错误?

c# - 在 Windows 10 edge 上运行自动化测试是否需要进行任何特殊设置

Git 相当于 which/where

java - 作为不带 java -jar 前缀的命令运行 Jar 文件

python - 从命令行执行python脚本: error with imports

linux - Windows 程序内存与 Linux 程序内存