吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5322|回复: 1
收起左侧

[其他转载] 非 常 批 处 理1

 关闭 [复制链接]
hujianghe 发表于 2010-4-22 20:11
华夏黑客同盟旗下战略合作伙伴
=          非 常 批 处 理              =          华夏黑客同盟                 =
=  主站:http://www.verybat.cn         =          主站:http://www.77169.com   =   
=  论坛:http://bbs.verybat.cn         =          论坛:http://bbs.77169.com   =   
=  提高工作效率,批量处理一切!        =          为普及中国网络安全做贡献!   =
================================================================================
动画名称:批处理列第一集
工具环境:Windows server 2003SP1 标准版
主    题:批处理介绍
作者网名:伤脑筋【华夏黑客同盟;非常批处理】
================================================================================
教程说明:
大家好,我是非常批处理的"伤脑筋",这个教程是我们非常批处理网站(bbs.verybat.cn)和华夏黑客同盟(www.77169.com), 合作制做的批处理应用系列教程.教程对不是批处理中关键的命令,不会做太多讲解,我相信大家对那些简单的命令都能够看帮助自己弄懂!

开始:
什么是"批处理".顾名思义,批处理就是把一批或者说是一条条命令放在一个文本里,然后批量执行!
执行这一批命令的文件的扩展名是BAT或者CMD,把任何一批命令放入在有这样扩展名的文件里,执行时里面的命令就会一条条的执行完,当然
我们还可以在其中加入一些逻辑判断的语句,让里面的命令在满足一定条件时执行指定的命令.
     了解了大概意思后,我们正式开始学习.先看一个简单的例子!
@echo off
echo "欢迎来到非常BAT!"
pause
执行
把上面的3条命令保存为test.bat或者test.cmd然后执行,他就会在屏幕上显示二行话:
"欢迎来到非常BAT!
请按任意键继续. . ."
这就是一个简单批处理文件了,我们来分析一下.
这个批处理文件一共就用了2条命令 "echo" 和"pause" 还有一个特殊符号"@"
@符号在批处理中的作用是关闭当前行命令的回显,也就是不显示执行的是什么命令,只显示命令的结果!
我们执行下面这个批处理文件来理解,保存为*.bat或者*.CMD
echo 你好  
@echo 你好     
pause     
这没加符号,所以他会显示"echo 你好"这条命令,然后再显示命令的结果"你好"
这加了符号,所以只显示了命令的结果 "你好"
这里又没加@,所以会显示执行了pause命令

echo命令的作用有两个,一个是在CMD上回显一行内容.如:echo "欢迎来到非常BAT!",还一个是显示关闭命令的回显:echo off
echo off的作用就相当于在每条命令前面加一个@符号,这样所有的命令将只会显示结果不显示命令.
我们在echo off这命令前加一个@符号是为了不让echo off这条命令本身显示出来,让批处理更完美!
我们执行下面这个批处理文件来理解,保存为*.bat或者*.CMD
@echo off
echo 你好  
echo 你好     
pause      

pause命令就是暂停的意思,防止批处理执行完后直接退出!执行pause命令后会自动在CMD里显示"请按任意键继续. . ."这样一行话!

在平时,我们如果有哪个命令不明白,可以在cmd中输入commandname /?的形式来看他的帮助
或者输入hh ntcmds.chm::ntcmds.htm来打开系统的命令行帮助来理解

好大概了解一下批处理的一些内容了,我们来看一个实际的例子:
这是一个清除系统垃圾文件的批处理

@echo off         
echo 正在清除系统垃圾文件,请稍等......         
del /s /f /q %systemdrive%\*.tmp >nul 2>nul
del /s /f /q %systemdrive%\*.gid >nul 2>nul
del /s /f /q %systemdrive%\*.chk >nul 2>nul
del /s /f /q %systemdrive%\*.old >nul 2>nul
del /s /f /q "%userprofile%\Local Settings\Temp\*.*" >nul 2>nul
del /s /f /q "%userprofile%\recent\*.*" >nul 2>nul
del /s /f /q "%userprofile%\cookies\*.*" >nul 2>nul
del /s /f /q "%userprofile%\Local Settings\History\*.*" >nul 2>nul
del /s /f /q "%userprofile%\Local Settings\Temporary Internet Files\*.*" >nul 2>nul
del /s /f /q "%windir%\temp\*.*" >nul 2>nul
del /s /f /q "%windir%\prefetch\*.*" >nul 2>nul
echo 清除系统垃圾文件完成!         
echo. & pause  

我这里就不执行了,我给大家分析他
这是一个很简单的批文件,完全是按顺序执行的,就是用del命令删除指定目录下的一些"垃圾文件"
del命令我给大家看看他的系统帮助 del /?
对着帮助看,我们就可以知道这个批处理中运用的这些DEL命令参数的意思了,
另外中间还有一个些%systemdrive%   %userprofile%这样的内容,他们是什么呢?
他们其实是系统变量,我们直接在CMD中输入set就可以看到系统中的系统变量了
如果我们要在BAT中用运用这些系统变量的值直接在系统变量名两边加"%"号就可以了,就象这个BAT一样.
%systemdrive%表示系统盘符 echo %systemdrive%  就可以看到他的值了,其他的一样

*.tmp这个就是删除指定目录下全部扩展名为tmp的文件了 *号在这表示任意长度的文件名字
>nul 2>nul  这个意思就是把正常显示的信息和错误信息全部输出到空设备中,这样就不会在BAT中显示这些垃圾信息挨眼!
nul表示空设备 >输出符号 2错误消息句丙
我们来看不加这些参数的效果
最后还有一段echo. & pause  
这个就是输出一个空行后然后暂停,防止批处理退出
echo. 这样使用ECHO命令会在BAT中打印一个空行出来 !
&符号也是批处理中的一个特殊符号,他表示执行完上一个命令后接着执行下一个命令.
关于批处理中的其他一些特殊符号,下节我们在来细细说明!这节教程只是让大家对批处理有个概念上的认识,

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

sharkvv 发表于 2010-10-4 12:35
看见这个帖子 很怀念非常批处理。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-17 01:44

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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