首页 > 解决方案 > 如何使用 Windows 批处理脚本捕获网页上包含的地址链接?

问题描述

为了编写 Windows 批处理文件,我想捕获网页中包含的特定 URL 地址。更准确地说,所寻求的 URL 地址是针对最新的 Windows Anaconda 文件,因此该地址会随着时间和版本而变化。因此,我正在寻找一种自动捕获此信息的方法。用linux一个命令可以做到这一点

AnacondaLink=`wget -O - https://www.anaconda.com/distribution/ 2>/dev/null | sed -ne 's@.*\(https:\/\/repo\.anaconda\.com\/archive\/Anaconda3-.*-Linux-x86_64\.sh\)\">64-Bit (x86) Installer.*@\1@p'`

有谁知道如何在 Windows 上执行这样的等效命令?

我尝试使用管道进行管道传输bitsadminfindstr但是当我这样做时,命令 bitsadmin 甚至都没有启动

bitsadmin /transfer myDownloadJob /download /priority normal https://www.anaconda.com/distribution/ %UserProfile%/Downloads/file.txt

标签: batch-file

解决方案


不是一个完整的工作示例,而是一个如何实现它的想法。

bitsadmin /transfer "anaconda" /DYNAMIC https://www.anaconda.com/distribution/ "%CD%\anaconda.txt"
type anaconda.txt | more /P >anaconda-crlf.txt
findstr "^.*https://repo.*x86_64\.exe.*$" anaconda-crlf.txt

第 2 行确保行结尾是 CR+LF,以便findstr^$正则表达式一起正常工作。


推荐阅读