如何使用 wGet 获取文件而不是 url

问题描述

我在 CMD 中使用以下命令。
wget "http://gribs2.gmn-usa.com/cgi-bin/weather_fetch.pl?parameter=wind&days=7&region=northEurope&dataset=nww3"

Wget 下载一个名为 weather_fetch.pl@parameter=wind&days=7&region=northEurope&dataset=nww3文件
当我使用我的网络浏览器时,我得到了文件 _cache_weather-cache_northEurope.wind.7days.grb.bz2

我需要第二个文件,第一个是一些乱码。我尝试添加等待命令,但没有奏效。

解决方法

wget 有一个 -O 开关来指定输出文件名。

so 命令行为:

wget -O _cache_weather-cache_NorthEurope.wind.7days.grb.bz2 "http://gribs2.gmn-usa.com/cgi-bin/weather_fetch.pl?parameter=wind&days=7&region=NorthEurope&dataset=nww3"

然而,这可能并不总是需要的,因为它是一个静态名称,每次下载文件时,旧文件都会被替换。因此,根据下载的目的,您可以通过使用批处理文件并在文件名中添加日期来使其更具动态性:

@echo off
for /f %%i in ('powershell -command Get-Date -format "yyyyMMdd"') do (
   wget -O "%%~i_cache_weather-cache_NorthEurope.wind.7days.grb.bz2" "http://gribs2.gmn-usa.com/cgi-bin/weather_fetch.pl?parameter=wind&days=7&region=NorthEurope&dataset=nww3"
)

考虑到今天的日期,这将导致文件名:

20210516_cache_weather-cache_NorthEurope.wind.7days.grb.bz2

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...