好工具自己做之极限作品.docx
- 文档编号:2958000
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:22.71KB
好工具自己做之极限作品.docx
《好工具自己做之极限作品.docx》由会员分享,可在线阅读,更多相关《好工具自己做之极限作品.docx(10页珍藏版)》请在冰豆网上搜索。
好工具自己做之极限作品
DIY爱好者--好工具自己做之批处理的极限应用
(1)
最近无聊开始研究一种很古老的在dos下无处不在的好东西——批处理程序。
其实也不能算是一种程序,只是将DOS命令写在一个后缀名为.bat(2k/xp中也可以用.cmd)的文件,可以将预先写入的dos命令一起执行,当时是个超级有用的好东东,可以把很多需要一起来执行的命令简化成一条,还有很多意想不到的功能。
不过随着windows这种图形界面的东西出现后,批处理就实在没什么优势了,因为使用起来太不方便,每次用的时候都进入dos界面来运行,任何参数得在dos里跟在程序名后输入,所以很不方便,以至于现在几乎没人用,怀着化废为宝的原则,我开始了对于批处理的研究。
最近才猛然发觉,在windows下,批处理又有它所发挥的余地,而且它有了很多新的优势是其他编程语言没法比较的。
1.编写工具:
无论是写字扳,word,甚至notepad也可以编写,而且不需要编译,改个后缀名直接就能用了
2.编写简单:
因为所有的代码都只是windows内带的命令,没有严格的语法要求,适合像我这种电脑初学者使用,一本dos书就够用了。
3.功能强大;注册表,文件,服务几乎windows的各个方面都可以用批处理来操作;没有做不到,只有想不到!
4.在2k/xp中可以将批处理可交互的界面,不需要进入dos界面费力的输入命令参数,在windows中打开直接就能用了
恩,大概以上的种种优势已经够让人心动了,那么今天先来讲点基本的。
首先教大家学批处理的好方法,在cmd中输入“命令/?
”可以显示这条命令的详细使用方法。
例如:
输入“copy/?
”我们可以得知以下内容:
将一份或多份文件复制到另一个位置。
COPY[/D][/V][/N][/Y|/-Y][/Z][/A|/B]source[/A|/B]
[+source[/A|/B][+...]][destination[/A|/B]]
source指定要复制的文件。
/A表示一个ASCII文本文件。
/B表示一个二进位文件。
/D允许解密要创建的目标文件
destination为新文件指定目录和/或文件名。
/V验证新文件写入是否正确。
/N复制带有非8dot3名称的文件时,
尽可能使用短文件名。
/Y不使用确认是否要改写现有目标文件
的提示。
/-Y使用确认是否要改写现有目标文件
的提示。
/Z用可重新启动模式复制已联网的文件。
命令行开关/Y可以在COPYCMD环境变量中预先设定。
这可能会被命令行上的/-Y替代。
除非COPY
命令是在一个批文件脚本中执行的,默认值应为
在改写时进行提示。
要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或file1+file2+file3格式)。
呵呵,很详细吧。
恩,先介绍点dos下基础的东西。
首先给个原代码先(很基础的,一个可以修改本机网站地址和静态ip地址的绑定):
@echooff
color0b
setlocal
titleHostsHackv1.0
remWrittenbyKakashi
remFeb16th,2006
echo===================================================
echoHostsHackv1.1
echo.
echo.
echo注:
修改hosts文件可以达到屏蔽某些网站的功能
echo版权没有,欢迎盗版!
echo===================================================
echo.
:
start
echo现在开始分析%systemroot%\system32\drivers\etc下系统原有hosts文件.......
echo你现在拥有的ip绑定有:
echo.
echo*********************************************************
more+18<%systemroot%\system32\drivers\etc\hosts
echo*********************************************************
echo.
echo.
echo====准备加入新的ip绑定======
:
startweb
echo请输入新的网站地址:
set/pwebsite=
if{%website%}=={}gotostartweb
:
startip
echo请输入绑定的ip:
set/pip=
if{%ip%}=={}gotostartip
echo开始写入hosts文件..............
echo%ip%%website%>>%systemroot%\system32\drivers\etc\hosts
echo完成!
ping127.0.0.1-n3>nul
cls
gotostart
好了,是不是看得有点头晕呢,不怕,慢慢来,一行一行解释:
@echooff这句的意思是将echo关闭,也就是让批处理什么都不显示,而前加个"@"符号表示连echooff这句命令也不显示,一开始就关闭批处理的显示有很多好处:
一方面可以让程序美观简洁,二来可以控制程序显示数据,把需要的数据用命令显示在桌面上让用户能看到,不至于被满屏幕的东西吓倒。
color这条命令是用来控制批处理的美观的,格式如下:
colorbf(b是背景颜色,f是前台(字体)颜色)
0=黑色8=灰色
1=蓝色9=淡蓝色
2=绿色a=淡绿色
3=浅绿色b=淡浅绿色
4=红色c=淡红色
5=紫色d=淡紫色
大家可以根据自己的喜好修改(本人推荐:
color0b)
title:
这条命令的作用就是修改标题栏的文字,美观而已。
使用格式title“任何你喜欢的文字”
rem:
表示解释说明,以rem开头的这一行都算作解释,不会被程序执行。
echo“文字”:
负责显示数据,比方说"@echo你好"这条命令运行后屏幕上就会出现“你好”二字。
而"echo."表示输出一个回车,也就是空一行。
开始进入重点了:
:
start这个命令表示建立一个名字为start的跳转点,前面的冒号说明这个start是个跳转点,以后程序只要用个gotostart程序就跳回来了。
下面这里大家跳过几行,能看到这样一句代码“echo现在开始分析%systemroot%\system32\drivers\etc下系统原有hosts文件.......”
%systemroot%表示的是一个名字为systemroot变量,它所带的值就是windows系统目录的路径,这是个系统变量,大家可以在cmd中输入set查询所有变量。
好接着看了
more+18<%systemroot%\system32\drivers\etc\hosts:
这段代码比较复杂,首先"<"这个符号表示重定向,将最后的那个hosts文件交给more这个命令来处理,然后more+18表示将hosts这个文件从第18行开始显示,就是略过前18行的内容(那些内容大家可以自己去看,是windows的说明内容)
开始进入交互部分了:
这段代码当作公式来记忆:
set/pwebsite=
if{%website%}=={}gotostartweb
set/pwebsite=:
表示将用户的输入来作为website的值,而交互部分必须要检测用户输入的值是不是不存在,否则程序要错误,所以要是错误的话返回程序重新输入
最后个重点是将用户输入两个值,再加入到文件后面">>"表示追加,“>”表示重新写,会删除原来的内容,然后echo两个变量显示到屏幕上,现在加个重定向到文件,就追加到原来的文件咯,最后那个ping127.0.0.1-n3就是表示要延时3秒,加个>nul,nul表示没有,重定向到没有就是不显示的意思咯。
终于把程序的大致内容讲了一遍,有兴趣的话,大家可以自己来学习一下,看不懂的朋友可以直接将程序代码复制下来,写成bat文件自己先看看。
大家也可以发挥想象自己来写点东西分享下,我也乐意将自己的新作品分享个大家。
########################################################################
########################################################################
DIY爱好者--好工具自己做之批处理的极限应用
(2)
昨天的那个批处理只是大致介绍了一些批处理的基本运用:
@echooff,重定向等等只是点,可能刚开始看有点累,多看多实践就好了。
推荐一个学习方法:
将部分关键代码删除,看看程序会出现什么错误,然后就能比较快地理解程序运行的原理。
好了今天就先给出一个新的代码(比较头大的,我也整了好久了,才憋出这个程序,做梦的时候都在想,但还是可能会有点问题,所以这只是个测试版本,大家如果发先程序有问题的话请跟贴告诉我,这个测试2版本是我目前为止未发现BUG的版本,但没办法保证有什么我没想到的问题,所以欢迎大家指出^^)
注意:
下面的测试版本可能无法在英文版的xp上运行,我的测试环境:
简体中文xp+sp2环境下测试通过!
不过由于程序的工作原理涉及windows的bug,所以我不能保证能100%能使用,不过我电脑是属于主流配置,而且补丁也打得很勤快,所以我想大多数用户还是能够使用的,如果有不能用的话,请告诉我你的电脑的配置情况。
==========================代码开始=================================
@echooff
remWrittenbyheroest
remFeb17th,2006
setlocal
color0b
echo========================================================
echo.
echoWindows文件保护专家测试版2
echo.
echo.
echo说明:
本程序可以有效的保护重要的文件不被删除或泄露。
echo版权没有,欢迎盗版!
echo=========================================================
:
start
echo.
echo建立文件保护文件夹c:
\FileLocker
ifnotexistc:
\FileLocker..\nulmdc:
\FileLocker..\
echo欢迎使用windwos保护专家v1.0,请选择选项(1,2,3,q);
echo1.读取加密的文档
echo2.存储保密文档
echo3.建立秘密存储文档
echoq.推出
set/pchoice=
if{%choice%}=={}gotostart
if/i%choice%==1gotodjm
if/i%choice%==2gotocjm
if/i%choice%==3gotojjm
if/i%choice%==qgotoquit
gotostart
rem========================加入秘密文件夹=========
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工具 自己 极限 作品