你好,我想创建一个批处理文件来下载一个mp3文件,该文件的可变参数地址每天都在增加。我尝试使用"bitsadmin“命令,但我不得不替换不同的变量,如”年“、”月“、”日“、”系列“。
你知道该怎么做吗?
bitsadmin /transfer grlavoro /download /priority normal http://www.radioarticolo1.com/userdata/media/audio/2015/03/20150331grl1800_54986.mp3 d:\grl.mp3有没有可能做这样的事情?
@ECHO ON
set series=54986
set /a c=1
FOR /F "tokens=1 usebackq" %%i in (%series%) do (
set /a c=c+1
echo %%i, %c%
)
for /f "tokens=1-4 delims=/-. " %%i in ('date /t') do (call :set_date %%i %%j %%k %%l)
goto :end_set_date
:set_date
if "%1:~0,1%" gtr "9" shift
for /f "skip=1 tokens=2-4 delims=(-)" %%m in ('echo,^|date') do (set %%m=%1&set %%n=%2&set %%o=%3)
goto :eof
bitsadmin /transfer grlavoro /download /priority normal http://www.radioarticolo1.com/userdata/media/audio/%yy%/%mm%/%yy%%mm%dd%grl1800_%series%.mp3 d:\grl.mp3发布于 2015-04-01 20:44:39
在wmic os get localdatetime中设置日期变量更容易,而且对语言环境的依赖性更小。
for /f %%I in ('wmic os get localdatetime /format:list ^| find "="') do set "%%I"
set "YYYYMMDD=%localdatetime:~0,8%"
set "YYYY=%YYYYMMDD:~0,4%"
set "MM=%YYYYMMDD:~4,2%"此外,使用powershell模块通常比使用bitsadmin更可取,因为后者将被弃用,并可能在未来的BitsTransfer版本中被删除。附带的好处是,您可以使用powershell命令获得一个很好的curses样式的进度条。
set "URL=http://www.radioarticolo1.com/userdata/media/audio/%YY%/%MM%/%YYMMDD%grl1800_%series%.mp3"
powershell "Import-Module BitsTransfer; Start-BitsTransfer %URL% d:\grl.mp3"恐怕我不明白您要对%series%变量做什么。在什么情况下,您打算递增多少次?
我看过你的网站了。虽然我不懂意大利语,但我确实遇到了podcast archive page。所有提供下载的播客都由ColdFusion脚本提供,该脚本接受查询字符串中的递增数字。如果您使用他们的audio_download.cfm脚本,则不需要进行日期操作。你最好使用它,这样你就不必尝试将日期与序列号配对了?(您是本文中的意大利语专家。我诚心诚意地请求您。)
https://stackoverflow.com/questions/29378910
复制相似问题