batch-file - 如何使用 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 上执行这样的等效命令?
我尝试使用管道进行管道传输bitsadmin
,findstr
但是当我这样做时,命令 bitsadmin 甚至都没有启动
bitsadmin /transfer myDownloadJob /download /priority normal https://www.anaconda.com/distribution/ %UserProfile%/Downloads/file.txt
解决方案
不是一个完整的工作示例,而是一个如何实现它的想法。
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
与^$
正则表达式一起正常工作。
推荐阅读
- python - 重新创建文件时不会崩溃的读取循环
- c# - 如何在 C# 中用 swagger 为一个请求对象定义多个请求示例?
- .net - 在管道中使用 Azure 密钥保管库中的证书
- anaconda - 如何更改 conda 在括号中显示的名称?
- c# - 无法为 Outlook 插件加载 VSTO 部署文件
- machine-learning - 如何对不同的输入数据使用机器学习算法?
- javascript - 使用与 providedIn 相同的服务:root 作为单例和组件的提供者与服务
- reflection - F# 反射:将数组作为参数传递给 MethodInfo.Invoke
- json - Angular 8 ngx-translate 从 URL 加载翻译 JSON 文件
- react-native - 如何缓存数据并在反应式中获取?