您好我想创建一个BATch文件来下载一个mp3文件,该文件的变量参数URL每天都在变化。我试过使用" 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
答案 0 :(得分:0)
从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 BitsTransfer
模块而不是bitsadmin
,因为后者已弃用,可能会在未来的Windows版本中删除。作为附带好处,您可以使用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脚本,则无需日期操作。您是否更愿意使用它,因此您不必尝试将日期与序列号配对? (你是这个主题的意大利语专家。我真的在问。)