好友
阅读权限10
听众
最后登录1970-1-1
|
华夏黑客同盟旗下战略合作伙伴
= 非 常 批 处 理 = 华夏黑客同盟 =
= 主站: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中打印一个空行出来 !
&符号也是批处理中的一个特殊符号,他表示执行完上一个命令后接着执行下一个命令.
关于批处理中的其他一些特殊符号,下节我们在来细细说明!这节教程只是让大家对批处理有个概念上的认识, |
|