You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows批处理如何通过GET返回值筛选有效软件下载链接存入文本

解决方案

问题1:HTTP状态码检测与有效链接筛选

实现思路

通过wget蜘蛛模式抓取请求响应头,提取HTTP状态码后按规则过滤,仅将符合要求的链接写入有效链接文件。你可以自行调整版本号生成逻辑和有效状态码的判断规则。

批处理实现代码

@echo off
setlocal enabledelayedexpansion
:: 配置项:替换为你的实际下载前缀、有效链接输出路径
set "DOWNLOAD_PREFIX=https://你的目标站点下载路径/"
set "OUTPUT_VALID_FILE=valid_program_links.txt"
:: 清空旧的有效链接文件
type nul > %OUTPUT_VALID_FILE%

:: 版本号遍历逻辑:适配你1.55.50~1.57.99的范围需求
for /l %%m in (55,1,57) do (
    :: 1.55版本起始为50,其余两位大版本起始为0
    if %%m equ 55 (set /a n_start=50) else (set /a n_start=0)
    for /l %%n in (!n_start!,1,99) do (
        set "FULL_URL=!DOWNLOAD_PREFIX!programv1.%%m.%%n.zip"
        :: 提取响应状态码
        for /f "tokens=2" %%s in ('wget --spider -S "!FULL_URL!" 2^>^&1 ^| findstr /r "^  HTTP/.*"') do (
            :: 按需添加有效状态码判断,示例为200、302算有效
            if "%%s"=="200" echo !FULL_URL! >> %OUTPUT_VALID_FILE%
            if "%%s"=="302" echo !FULL_URL! >> %OUTPUT_VALID_FILE%
        )
    )
)
endlocal

后续直接用你原有wget命令的--input-file参数指定生成的valid_program_links.txt即可,不会再产生大量无效请求日志。


问题2:使用wget -A参数免生成无效链接

前置条件

该方案仅适用于目标下载目录开启了公开目录索引的场景,也就是直接访问下载目录的根URL可以看到所有文件列表。

实现思路

直接递归爬取目标下载目录,通过-A指定文件名匹配规则,搭配--accept-regex做精准的版本范围正则校验,wget会自动识别目录下存在的符合规则的文件,不需要预生成全量版本链接。

命令示例

wget --timestamping --referer foo --recursive --no-parent ^
-A "programv*.zip" --accept-regex "programv1\.5[5-7]\.[0-9]+\.zip" ^
--show-progress --append-output=C:\Path\%Timestamp%_program.log ^
https://你的目标站点下载根目录/

如果目标站点未开启目录索引,该方案无法使用,建议优先采用问题1的有效链接筛选方案。


内容的提问来源于stack exchange,提问作者dimarco76

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:24:03