wget 的批处理脚本
Batch script for wget
我需要做一个脚本来重新下载图片,我该怎么做。我在 Windows.
我想要这样的东西:
for(int i = 0 ; i < 100; i++) {
wget "http://download/img" + i + ".png
}
如何使用 Windows 批处理脚本执行此操作?
相当于那种for
循环的Windows是for /L
。语法是
for /L %%I in (start,step,finish) do (stuff)
有关详细信息,请参阅控制台 window 中的 help for
。此外,Windows 批处理变量是内联评估的。无需打破你的报价。
for /L %%I in (0,1,100) do (
wget "http://download/img%%I.png"
)
... 将下载 img0.png 到 img100.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。
有一些参数可以与 wget 一起使用,包括递归模式和扩展过滤器。
请看here
我需要做一个脚本来重新下载图片,我该怎么做。我在 Windows.
我想要这样的东西:
for(int i = 0 ; i < 100; i++) {
wget "http://download/img" + i + ".png
}
如何使用 Windows 批处理脚本执行此操作?
相当于那种for
循环的Windows是for /L
。语法是
for /L %%I in (start,step,finish) do (stuff)
有关详细信息,请参阅控制台 window 中的 help for
。此外,Windows 批处理变量是内联评估的。无需打破你的报价。
for /L %%I in (0,1,100) do (
wget "http://download/img%%I.png"
)
... 将下载 img0.png 到 img100.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。
有一些参数可以与 wget 一起使用,包括递归模式和扩展过滤器。
请看here