echo off reg add quotHKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainquot /v quotStart Pagequot /t reg_sz /d www.hao123 /f reg add quotHKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMainquot /v quotDefault_Page_URLquot /t reg_sz /d www.hao123 /f echo ------------------------主页已经设置为 www.hao123------------------- rem -----------------------------------------------禁网页------------------------------ reg add quotHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionInternet SettingsZoneMapDomains56quot /v /t REG_DWORD /d 00000004 /f rem -----------------------------------------------禁网页------------------------------ echo -----------------------------------已限制部分不良网站..---------------------------------- color a reg add quotHKEY_CURRENT_USERSoftWaremicrosoftWindowsCurrentVersionPoliciesExplorerquot /v NoDrives /t REG_BINARY /d 04000000 /f echo --------------------隐藏C盘成功--------------------- echo ------------------正在禁止下载工具下载............ color c echo off reg add quotHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerquot /v DisallowRun /t REG_DWORD /d 1 /f reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRun /v quotdelvals.quot /t REG_SZ /d quot quot /f copy echo 需要禁止的进程列表 echo KPfwSvc. echo 1. echo ------------------------------正在禁止
批处理文件注释列表进程...-------------------------- color a set num0 setlocal enabledelayedexpansion for /f quotdelimsquot i do set /a num1 reg add HKCUSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerDisallowRun /v num /t REG_SZ /d i /f echo You do is successfully 问题补充 2009-04-01 16:51 我拿来时用来在网吧用的我这里有10多台机客人老是喜欢下载或看在线视频暂用网速所以我才写出这些东西做安全措施减少中病毒...谢谢大家多多支持...多给我收集点有用的BAT代码 批处理文件或批处理程序是一个包含若干MS-DOS命令的正文文件扩展名为.BAT。当在命令提示符下敲入批处理程序的名称时MS-DOS成组执行此批处理程序中的命令。 任何在命令提示符下可使用的命令都可用在批处理程序中。此外下面MS-DOS命令是专门在批处理程序中使用的。 ltCallgt ltIfgt ltChoicegt ltPausegt ltEchogt ltRemgt ltForgt ltShiftgt ltGotogt 常用命令 echo、、call、pause、rem小技巧用::代替rem是批处理文件最常用的几个命令我们就从他们开始学起。 willsort 编注 首先 不是一个命令 而是DOS 批处理的一个特殊标记符 仅用于屏蔽命令行回显. 下面是DOS命令行或批处理中可能会见到的一些特殊标记符: CR0D 命令行结束符 Escape1B ANSI转义字符引导符 Space20 常用的参数界定符 Tab09 不常用的参数界定符 COPY命令文件连接符 文件通配符
quotquot 字符串界定符 命令管道符 lt gt gtgt 文件重定向符 命令行回显屏蔽符 / 参数开关引导符 : 批处理标签引导符 批处理变量引导符 其次 :: 确实可以起到rem 的注释作用 而且更简洁有效 但有两点需要
注意: 第一 除了 :: 之外 任何以 :开头的字符行 在批处理中都被视作标号 而直接忽略其后的所有内容 只是为了与正常的标号相区别 建议使用 goto 所无法识别的标号 即在 :后紧跟一个非字母数字的一个特殊符号. 第二 与rem 不同的是 ::后的字符行在执行时不会回显 无论是否用echo on打开命令行回显状态 因为命令解释器不认为他是一个有效的命令行 就此点来看 rem 在某些场合下将比 :: 更为适用 另外 rem 可以用于 config.sys 文件中. echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 与echo off相象但它是加在每个命令行的最前面表示运行时不显示这一行的命令行只能影响当前行。 call 调用另一个批处理文件如果不用call而直接调用别的批处理文件那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令。 pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key 的提示等待用户按任意键后继续 rem 表示此命令后的字符为解释行注释不执行只是给自己今后参考用的相当于程序中的注释。 willsort 编注 此处的描述较为混乱 不如直接引用个命令的命令行帮助更为条理 ---------------------------------------------------------------------------- ECHO 当程序运行时显示或隐藏批处理程序中的正文。也可用于允许或禁止命令的回显。 在运行批处理程序时MS-DOS一般在屏幕上显示回显批处理程序中的命令。 使用ECHO命令可关闭此功能。 语法 ECHO ONOFF 若要用echo命令显示一条命令可用下述语法 echo message 参数 ONOFF 指定是否允许命令的回显。若要显示当前的ECHO的设置可使用不带参数的ECHO 命令。 message 指定让MS-DOS在屏幕上显示的正文。 ---------------------------------------------------------------------------- CALL 从一个批处理程序中调用另一个批处理程序而不会引起第一个批处理的中止。 语法 CALL
drive:pathfilename batch-parameters 参数 drive:pathfilename 指定要调用的批处理程序的名字及其存放处。文件名必须用.BAT作扩展名。 batch-parameters 指定批处理程序所需的命令行信息。 ---------------------------------------------------------------------------- PAUSE 暂停批处理程序的执行并显示一条消息提示用户按任意键继续执行。只能在批处 理程序中使用该命令。 语法 PAUSE ---------------------------------------------------------------------------- REM 在批处理文件或CONFIG.SYS中加入注解。
也可用REM命令来屏蔽命令在CONFIG.SYS 中也可以用分号代替REM命令但在批处理文件中则不能替代。 语法 REM string 参数 string 指定要屏蔽的命令或要包含的注解。 例1用edit编辑a.bat文件输入下列内容后存盘为c:a.bat执行该批处理文件后可实现将根目录中所有文件写入 a.txt中启动UCDOS进入WPS等功能。 批处理文件的内容为: 命令注释 echo off 不显示后续命令行及当前命令行 dir c:. 将c盘文件列表写入a.txt call c:ucdosucdos.bat 调用ucdos echo 你好 显示quot你好quot pause 暂停等待按键继续 rem 准备运行wps 注释准备运行wps cd ucdos 进入ucdos目录 wps 运行wps 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数相当于DOS命令的命令行参数这需要用到一个参数表示符“”。 1-9表示参数参数是指在运行批处理文件时在文件名后加的以空格或者Tab分隔的字符串。变量可以从0到90表示批处理命令本身其它参数字符串用1到9顺序表示。 例2C:根目录下有一批处理文件名为f.bat内容为 echo off format 1 如果执行C:gtf a: 那么在执行f.bat时1就表示a:这样format 1就相当于format a:于是上面的命令运行时实际执行的是format a: 例3C:根目录下一批处理
文件名为t.bat内容为: echo off type 1 type 2 那么运行C: b.txt 1 : 表示a.txt 2 : 表示b.txt 于是上面的命令将顺序地显示a.txt和b.txt文件的内容。 特殊命令 if goto choice for是批处理文件中比较高级的命令如果这几个你用得很熟练你就是批处理文件的专家啦。 一、if 是条件语句用来判断是否符合规定的条件从而决定执行不同的命令。 有三种格式: 1、if not quot参数quot quot字符串quot 待执行的命令 参数如果等于not表示不等下同指定的字符串则条件成立运行命令否则运行下一句。 例if quot1quotquotaquot format a: if 的命令行帮助中关于此点的描述为: IF NOT string1string2 command 在此有以下几点需要注意: 1. 包含字符串的双引号不是语法所必须的 而只是习惯上使用的一种quot防空quot字符 2. string1 未必是参数 它也可以是环境变量 循环变量以及其他字符串常量或变量 3. command 不是语法所必须的 string2 后跟一个空格就可以构成一个有效的命令行 2、if not exist 路径文件名 待执行的命令 如果有指定的文件则条件成立运行命令否则运行下一句。 如: if exist c:config.sys type c:config.sys 表示如果存在c:config.sys文件则显示它的内容。 willsort 编注 也可以使用以下的用法: if exist ltdevicegt command device 是指DOS系统中已加载的设备 在win98下通常有: AUX PRN CON NUL COM1 COM2 COM3 COM4 LPT1 LPT2 LPT3 LPT4 XMSXXXX0 EMMXXXX0 A: B: C: ... CLOCK CONFIG DblBuff IFSHLP 具体的内容会因硬软件环境的不同而略有差异 使用这些设备名称时
需要保证以下三点: 1. 该设备确实存在由软件虚拟的设备除外 2. 该设备驱动程序已加载aux prn等标准
设备由系统缺省定义 3. 该设备已准备好主要是指a: b: ... 等 可通过命令 mem/d find quotdevicequot /i 来检阅你的系统中所加载的设备 另外 在DOS系统中 设备也被认为是一种特殊的文件 而文件也可以称作字符设备 因为设备device与文件都是使用句柄handle来管理的 句柄就是名字 类似于文件名 只不过句柄不是应用于磁盘管理 而是应用于内存管理而已 所谓设备加载也即指在内存中为其分配可引用的句柄. 3、if errorlevel lt数字gt 待执行的命令 很多DOS程序在运行结束后会返回一个数字值用来表示程序运行的结果或者状态通过if errorlevel命令可以判断程序的返回值根据不同的返回值来决定执行不同的命令返回值必须按照从大到小的顺序排列。如果返回值等于指定的数字则条件成立运行命令否则运行下一句。 如if errorlevel 2 goto x2 willsort 编注 返回值从大到小的顺序排列不是必须的 而只是执行命令为 goto 时的习惯用法 当使用 set 作为执行命令时 通常会从小到大顺序排列 比如需将返回码置入环境变量 就需使用以下的顺序形式: if errorlevel 1 set el1 if errorlevel 2 set el2 if errorlevel 3 set el3 if errorlevel 4 set el4 if errorlevel 5 set el5 ... 当然 也可以使用以下循环来替代 原理是一致的: for e in 1 2 3 4 5 6 do if errorlevel e set ele 更高效简洁的用法 可以参考我写的另一篇关于获取 errorlevel 的文章 出现此种现象的原因是 if errorlevel 比较返回码的判断条件并非等于 而是大于等于. 由于 goto 的跳转特性 由小到大排序会导致在较小的返回码处就跳出 而由于 set命令的 quot重复quot 赋值特性 由大到小排序会导致较小的返回码 quot覆盖quot 较大的返回码. 另外 虽然 if errorlevellt数字gt command 也是有效的命令行 但也只是 command 解释命令行时将 作为命令行切分符而忽略掉罢了 二、goto 批处理文件运行到这里将跳到goto所指定的标号标号即label标号用:后
跟标准字符串来定义处goto语句一般与if配合使用根据不同的条件来执行不同的命令组。 如: goto end :end echo this is the end 标号用“:字符串”来定义标号所在行不被执行。 willsort 编注 label 常被译为 quot标签quot 但是这并不具有广泛的约定性. goto ltlabelgt 与 :ltlabelgt 联用可实现执行中途的跳转 再结合 if 可实现执行过程的条件分支 多个 if 即可实现命令的分组 类似 C 中 switch case 结构或者 Basic 中的 select case 结构 大规模且结构化的命令分组即可实现高级语言中的函数功能. 以下是批处理和C/Basic在语法结构上的对照: Batch C / Basic gotoamp: gotoamp: gotoamp:ampif ifampe
lse / ifampelseifampendif switchampcase / select case function / functionsub 三、choice 使用此命令可以让用户输入一个字符用于选择从而根据用户的选择返回不同的errorlevel然后于if errorlevel配合根据用户的选择运行不同的命令。 注意choice命令为DOS或者Windows系统提供的外部命令不同版本的choice命令语法会稍有不同请用choice /查看用法。 choice的命令语法该语法为Windows 2003中choice命令的语法其它版本的choice的命令语法与此大同小异 CHOICE /C choices /N /CS /T timeout /D choice /M text 描述: 该工具允许用户从选择列表选择一个项目并返回所选项目的索引。 参数列表: /C choices 指定要创建的选项列表。默认列表是 quotYNquot。 /N 在提示符中隐藏选项列表。提示前面的消息得到显示 选项依旧处于启用状态。 /CS 允许选择分大小写的选项。在默认情况下这个工具 是不分大小写的。 /T timeout 做出默认选择之前暂停的秒数。可接受的值是从 0 到 9999。如果指定了 0就不会有暂停默认
选项 会得到选择。 /D choice 在 nnnn 秒之后指定默认选项。字符必须在用 /C 选 项指定的一组选择中 同时必须用 /T 指定 nnnn。 /M text 指定提示之前要显示的消息。如果没有指定工具只 显示提示。 / 显示帮助消息。 注意: ERRORLEVEL 环境变量被设置为从选择集选择的键索引。列出的第一个选 择返回 1第二个选择返回 2等等。如果用户按的键不是有效的选择 该工具会发出警告响声。如果该工具检测到错误状态它会返回 255 的 ERRORLEVEL 值。如果用户按 CtrlBreak 或 CtrlC 键该工具会返回 0 的 ERRORLEVEL 值。在一个批程序中使用 ERRORLEVEL 参数时将参数降 序排列。 示例: CHOICE / CHOICE /C YNC /M quot确认请按 Y否请按 N或者取消请按 C。quot CHOICE /T 10 /C ync /CS /D y CHOICE /C ab /M quot选项 1 请选择 a选项 2 请选择 b。quot CHOICE /C ab /N /M quot选项 1 请选择 a选项 2 请选择 b。quot willsort 编注 我列出win98下choice的用法帮助 已资区分 Waits for the user to choose one of a set of choices. 等待用户选择一组待选字符中的一个 CHOICE /C:choices /N /S /T:cnn text /C:choices Specifies allowable keys. Default is YN 指定允许的按键待选字符 默认为YN /N Do not display choices and at end of prompt string. 不显示提示字符串中的问号和待选字符 /S Treat choice keys as case sensitive. 处理待选字符时大小写敏感 /T:cnn Default choice to c after nn seconds 在 nn 秒后默认选择 c text Prompt string to display 要显示的提示字符串 ERRORLEVEL is set to offset of key user presses in choices. ERRORLEVEL 被设置为用户键入的字符在待选字符中的偏移值 如果我运行命令CHOICE /C YNC /M quot确认请按 Y否请按 N或者取消请按 C。quot 屏幕上

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。