首先请原谅我的英语不好,我会尽力理解。
我正在使用批处理文件(Windows,cmd.exe)在我的计算机上检索并静默安装Adobe Flash。 该批处理效果很好,但是当Adobe服务器上发生重大版本更改时,我遇到了问题。 这是命令行批处理:
@echo off
setlocal enableextensions
md c:\temp\flash
pushd c:\temp\flash
wget -nH --cut-dirs=5 -r --timestamping http://download.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_15_plugin.exe
wget -nH --cut-dirs=5 -r --timestamping http://download.macromedia.com/get/flashplayer/current/licensing/win/install_flash_player_15_active_x.exe
echo Closing browsers
pause
taskkill /f -im firefox.exe -im iexplore.exe
install_flash_player_15_plugin.exe -install -au 2
install_flash_player_15_active_x.exe -install -au 2
popd
setlocal disableextensions
pause
当Flash升级到下一个版本时,文件名会从install_flash_player_15_active_x.exe
更改
至
install_flash_player_16_active_x.exe
并且必须手动更正批次,否则它会粘在旧版本上。
有没有办法用通配符或一些正则表达式替换版本号,以便wget在名称更改时检索最新文件? 或者至少,是否有任何Windows兼容的命令行工具解析服务器上的文件名,找到最新的并将其作为wget(或cURL)的变量传递?
谢谢
答案 0 :(得分:0)
您不需要正则表达式来获取IE和Firefox的当前版本的Flash。只需将网址更改为
即可对于Firefox:http://download.macromedia.com/pub/flashplayer/current/support/install_flash_player.exe 对于IE:http://download.macromedia.com/pub/flashplayer/current/support/install_flash_player_ax.exe
wget -nH --cut-dirs=5 -r --timestamping http://download.macromedia.com/pub/flashplayer/current/support/install_flash_player.exe
wget -nH --cut-dirs=5 -r --timestamping http://download.macromedia.com/pub/flashplayer/current/support/install_flash_player_ax.exe