moyanqd 发表于 2013-3-30 19:28:09

发个自己用的迅雷批量文件下载完成备份后并关机的批处理

最近自己写的,先下载到内存盘,完成备份到指定目录后关机
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
:begin
color 0a
if not exist *.td goto end
:loop
cls
echo 正在下载的文件列表:
SetLocal EnableDelayedExpansion

for /r "%~dp0" %%i in (*.td) do (
set name=%%i
echo !name!
)


if exist !name! ping -n 10 127.1>nul&endlocal&goto loop
if not exist D:\TDDOWNLOAD md D:\TDDOWNLOAD
copy /y *.* "E:\Game.Of.Thrones.S02.Season.2.720p.BluRay.DTS.x264-PublicHD"
msg %username% /time:10 文件已经下载完毕并保存到"Game.Of.Thrones.S02.Season.2.720p.BluRay.DTS.x264-PublicHD"
Shutdown -s -f -t 10
:end

moyanqd 发表于 2013-3-30 19:29:51

:begin前面的是隐藏dos窗口用的,不喜欢可以去掉

jjj206 发表于 2013-3-30 22:46:08

請註釋!

moyanqd 发表于 2013-3-31 16:31:08

@echo off
::此行到begin为隐藏批处理本身
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
:begin
color 0a
::判断当前目录是否存在迅雷的未下载完成文件,不存在退出批处理
if not exist *.td goto end
:loop
cls
echo 正在下载的文件列表:
SetLocal EnableDelayedExpansion
::在当前目录遍历扩展名为td的文件并显示
for /r "%~dp0" %%i in (*.td) do (
set name=%%i
echo !name!
)

::如果存在未下载完成的文件延时10秒后循环检测
if exist !name! ping -n 10 127.1>nul&endlocal&goto loop
::如果d盘tddownload目录不存在,则建立目录,下面两行等号中间的你可以自己发挥了
::==========================
if not exist D:\TDDOWNLOAD md D:\TDDOWNLOAD
copy /y *.* "E:\Game.Of.Thrones.S02.Season.2.720p.BluRay.DTS.x264-PublicHD"
msg %username% /time:10 文件已经下载完毕并保存到"Game.Of.Thrones.S02.Season.2.720p.BluRay.DTS.x264-PublicHD"
::===================================
::延时10秒关机
Shutdown -s -f -t 10
:end

moyanqd 发表于 2013-3-31 16:33:07

此批处理要放在你的迅雷下载目录里运行,忘了说了

moyanqd 发表于 2013-3-31 16:35:53

这样有个好处,下载到内存完毕后再拷贝到指定目录,可以保护硬盘尽量免受bt类下载的伤害

moyanqd 发表于 2013-3-31 16:36:36

我正下载美剧权力的游戏
页: [1]
查看完整版本: 发个自己用的迅雷批量文件下载完成备份后并关机的批处理