查看: 1914|回复: 3
收起左侧

[技巧] 批处理实现下载完文件自动关机简解(基础)

[复制链接]
wowuyanle
发表于 2010-11-21 15:00:26 | 显示全部楼层 |阅读模式
完全用批处理实现下载完文件自动关机,支持迅雷以及一些可以断点续传的下载软件
命令如下:
----------------------------------------------------------------------------------------
@echo off
:h
set n=0
for /F "delims=" %%a in (custom.txt) do if exist "%%a" set n=1
if "%n%"=="0" (shutdown -s -t 10) else (ping -n 60 127.1>nul&goto h)

-----------------------------------------------------------------------------------------
    网上也有,但是感觉不够智能,所以修改了下.这个使用起来非常简单方便,除了此批处理外,还要创建一个文本文件,名字为custom.txt.
    大家知道迅雷未下载完文件的后缀为.td和.ctf两个文件,批处理就是先判断下载目录里是否存在这两个后缀的文件,如果存在则60秒后重新扫描,如果不存在则关机.而下载路径与后缀则写在custom.txt文件里.
    如我的常用下载目录为d:\software文件夹,我可以这样写:
---------------------
d:\software\*.td
d:\software\*.ctf
---------------------
路径与后缀都可以自行更改,如常用路径为e:\game\install文件夹,下载软件为世界之窗的内置下载器(为下载完成时后缀为.tw!)
---------------------------
e:\game\install\*.tw!)
---------------------------
    然后把这两个文件放在同一个文件夹下,先运行下载软件,确认已经下载了之后,再运行批处理即可.
    注意路径为custom.txt里设置过的路径.文件下载完成后回自动关机,或者自行修改批处理实现其他功能
下面简单解释一下(高手不要笑话,如有错误,请指出)
@echo off
    关闭回显
:h
    这个:h与下面的goto h配合,实现跳转,重新扫描
set n=0
    让n=0
for /F "delims=" %%a in (custom.txt) do if exist "%%a" set n=1
    这句有个for命令加上/f参数,把custom.txt文件中的每一行作为一个元素,然后执行do后面的命令,执行完一行然后执行下一行元素,%%a为变量,当读取第一行是%%a为第一行的元素,当读取第二行时为第二行的元素,delims用来告诉for每一行应该用什么作为分隔符.然后判断是否存在%%a,如果存在让n=1
if "%n%"=="0" (shutdown -s -t 10) else (ping -n 60 127.1>nul&goto h)
    if判断语句,如果n的值为0,则关机,else等待60秒,回到:h处,重新执行.ping -n 60 127.1>nul的意思是延迟脚本运行时间并附值给空设备.
有些地方解释的不好,因为我也不是很清楚,所以就没有写出来,呵呵.





holley
发表于 2010-11-21 19:28:52 | 显示全部楼层
学习知识,天天进步
1e3e
头像被屏蔽
发表于 2010-11-21 20:44:19 | 显示全部楼层
学习了,正在学习批处理中
wowuyanle
 楼主| 发表于 2010-11-21 21:33:19 | 显示全部楼层
呵呵,批处理很有意思,也很强大。
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2025-1-13 22:40 , Processed in 0.139705 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表