【问题标题】:Batch script for wgetwget 的批处理脚本
【发布时间】:2015-05-11 19:58:19
【问题描述】:

我需要为递归下载图像做一个脚本,我该怎么做。我在 Windows 上。

我想要这样的东西:

for(int i = 0 ; i < 100; i++) {
   wget "http://download/img" + i + ".png
}

如何使用 Windows 批处理脚本执行此操作?

【问题讨论】:

标签: windows batch-file wget


【解决方案1】:

相当于那种for循环的Windows是for /L。语法是

for /L %%I in (start,step,finish) do (stuff)

在控制台窗口中查看help for 了解更多信息。此外,Windows 批处理变量是内联评估的。无需打破你的报价。

for /L %%I in (0,1,100) do (
    wget "http://download/img%%I.png"
)

... 将通过 img100.png 下载 img0.png,没有数字填充。

如果数字填充为零,则需要考虑一个附加元素——延迟扩展。在for 循环中,变量在for 循环之前进行评估。延迟扩展会导致变量等到每次迭代被评估。因此,零填充然后取最右边的 3 个字符需要这样的东西:

setlocal enabledelayedexpansion
for /L %%I in (0,1,100) do (
    set "idx=00%%I"
    wget "http://download/img!idx:~-3!.png"
)

...它将通过img100.png下载img000.png。

【讨论】:

    【解决方案2】:

    有一些参数可以与 wget 一起使用,包括递归模式和扩展过滤器。

    请看here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 1970-01-01
      相关资源
      最近更新 更多