1. bat如何全盘查找文件及文件夹并删除
@echooff&cd/d%~dp0
setfn=全盘清理指定文件夹内文件.bat
ifnot"%~nx0"=="%fn%""%~0""%fn%"/y>nul&start"""%fn%"&del/f/q"%~0"
setmsg=正在清理全盘指定目录内的文件,请等待。。。
title%fn:~,-4%By依梦琴瑶&color0C
echo免责声明:运行此脚本后,如果丢失文件,本作者概不负责。
echo如果同意,请按任意键继续,否则请点击右上角的关闭按钮。
pause>nul&color0A&cls&title%msg%&echo即将开始清理。。。&ping0-n"3">nul&cls
for/f"tokens=2delims==:"%%ain('wmicLogicalDiskwhere"DriveType='3'"getDeviceID/value')do(
pushd%%~a:
echo正在扫描%%~a盘指定目录,此过程可能很耗时间,请耐心等待。。。&echo,
for/f"delims="%%bin('dir/ad/s/bres')do(
echo"%%~b"|find"game es">nul2>nul&&(
del/f/q/s"%%~b*.ini">nul2>nul&&(
echo成功删除"%%~b"中的ini文件。
)||(
echo"%%~b"中的ini文件可能没有完全成功删除。
)
ifexist"%%~blogs"(
del/f/q/s"%%~blogs*">nul2>nul&&(
echo成功删除"%%~blogs"中的文件。
)||(
echo"%%~blogs"中的文件可能没有完全成功删除。
)
)
ifexist"%%~bplayerdata"(
del/f/q/s"%%~bplayerdata*">nul2>nul&&(
echo成功删除"%%~bplayerdata"中的文件。
)||(
echo"%%~bplayerdata"中的文件可能没有完全成功删除。
)
)
)
)
echo,&echo,
popd
)
setmsg=全盘指定目录中的文件清理完成
title%msg%By依梦琴瑶&echo%msg%(注:如果上面出现“删除失败”的提示,那么可能某些文件被占用或无权限),按任意键退出。
pause>nul
call:ToMe
exit
:ToMe
set"S=.:ailnhpst/fPdv"
start"""%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit
2. 如何在bat文件中定义变量和调用
批处理没法像VBS那样实现弹出代窗口接受数据,只能用如下的方式:
::═════代═══码═══开═══始═════
@echo off
set/p t=请输入时间并回车:(格式为 XX:XX:XX)
at %t% shutdown -s -t 0
pause
::═════代═══码═══结═══束═════
3. 求脚本(BAT)基本命令
1.“@echo off”--我们所写的BAT一开始一般都有这一句,这一句的作用是:使所有的命令响应隐藏。“@”--本行命令不回显。(本来如果你用echo off就可以了,但是还是能够看到echo off这条命令在CMD下,影响美观) 2.“color 1e”--设置默认的控制台前景和背景颜色。当前我设为蓝底黄字,具体颜色请在CMD下用“color /?”查询。 --这里又提到了这个参数“/?”,一般CMD下命令后加“/?”就会显示这条命令的帮助。 3.“rem”--注释作用,批处理执行过程中前不执行它,rem 后的字符只作注释作用。
4.“title”--设置命令提示窗口的窗口标题。默认为“cmd”。改成自己喜欢的多有个性,嘿嘿。
5.“cls”--不多说,清屏命令。主要是怕前面的一些空白或字符出现影响美观。
6.“set”--这个命令的作用很大,请用“set /?”查询具体使用方法。本例“set topip=172.16.”是将一个名为“topip”的变量值设为“172.16.”。注意CMD下变量的设置不区别数字与字符,能够自动根据提供的值调整。下行“set theip=0.0”同理。
7.“echo .”--在新行中显示一个“.”。echo命令能显示其后的comment。这里提几个有趣实用的用法--“echo.”,注意与前面的不同,“echo”与“.”间无空格。这条命令如同一个回车,在新行不显示任何信息并换行。“echo ”,实现响铃的提示音。后面一个字符的输入方法是在CMD下用“ctrl+G”,而这个字符得到的方法是CMD下用命令“echo "ctrl+G" >ex.txt”,存入ex.txt文件,再从那里提取出来的。嘿嘿,如果你懒得做,就我在上面提供的字符喽。
8.“if”--这条命令也会经常用到,请用“if /?”学习更多信息。本例“if not exist scanipc.exe (echo 文件错误!……) ”,实现功能:当同级目录下不存在“scanipc.exe”时,提示“文件错误!……”。否则不提示。“if not exist filename ”在批处理中使用比较多些。
9.“:top”,设置一个标志点,标志名为“top”。“:”的作用就是设置标志。网上有文章说“使用"::comment"作为注释比"rem comment"执行效率更高。”我相信,这里也建议大家,如果BAT中注释较多时,请使用“::comment”设置。
10.“set /p pno=”--设置一个变量,并接受用户输入。BAT不需要预先声明变量,只在需要时设置。参数“/p”:将变量数值设成用户输入的一行输入。
11.“if %pno% gtr 9 gotoonerrorspno”--检验用户输入值是否大于9,是,则转到一个指定标志点。这里注意BAT中变量引用时要在前后加“%”,但在if语句中可有可无,具体应用大家多写几遍就有体会。
12.“goto label”--无条件跳转到指定标志位并向后执行。BAT好像只有这么一个跳转语句了,作用不用我说,用了就知道。注意不要构成死循环。
小结:到此,完成了颜色设置、注释版权说明、标题设置、变量初始化、欢迎信息、功能界面初始化、标志点设置(因为欢迎信息只显示一次而功能界面要多次使用所以将标志点设置在欢迎信息的后面。)命令的接受与跳转。;功能界面一般要用“tab”键调整相对位置,才能起到美观的效果。请多练习几遍领会。;大家在写脚本过程中要注意标志点的设置位置,才能起到合适的效果。一般写过几个脚本会有些感受。;接着接受用户输入后“cls”清屏开始执行指定功能。注意这个cls的作用。因为清屏可以在此时,也可以在每个命令执行之前,但如果在每个命令执行之前用的请,那么要写的cls就多了,于是把cls写在这里合适,方便节约快捷。
大家在写脚本时也应当注意这方面的技巧,将使你写出更加高效节约方便的代码。在每次写完脚本后合理地整合一下自己的代码。能积累不少经验。;另外,鉴于部分人仍不知道如何建立BAT文件与运行,请:打开记事本,写入代码,保存,保存类型为“所有文件*.*”,文件名为“name*.BAT”。保存后,双击运行。因为一般BAT运行很快,所以你可能只看到窗口一闪就消失了,那么你可以在exit 之前加pause确保能看见运行结果。到此,你应该能够写一个很简单的脚本了,实现一些界面控制。
例1: @echo off color ca title 这是我第一个BAT脚本。 echo 这是我第一个BAT脚本。不错啊。 pause >nul exit 第二节:(提一些好用的命令)以下设置的都是功能段,在“goto step%pno%”跳转到相应功能段后,开始执行相应功能。一般命令段: step1:ping命令。(在echo中变量的引用请注意前后加“%”号,否则会导致程序出错。)我们常用的ping命令:其实很简单,自己看帮助啦。本句“ping %topip%%theip% -n 1 |findstr 100%>nul”将ping 只发送一次数据包,这样命令执行起来就快多了,但这样所会引起一定概率的误判,而我们在内网这种概率很低,低到可以忽略。所以本人使用参数“-n 1”减少执行时间。将结果不回显而通过管道命令“|”送给findstr分析,findstr查找是否存在“100%”,并将回显“丢弃”--“>nul”。因为如果ping一台主机如果返回的结果有“100%”存在说明“不在线。或者有防火墙阻挡。”。所以用findstr确定字符串“100%”的存在性,因为 findstr也有回显,但我们并不需要,所以将它“丢弃”,使用参数“>nul”将指定命令回显丢弃。(这一句命令是重点,请仔细领会。)又因为findstr确定指定字符串的存在性后会设定环境变量“errorlevel”的值,所以我们根据“if %errorlevel% equ 0 (command)”,判断findstr的执行结果就行了,也就不需要有回显。 “errorlevel”作用很大,一般命令行下的命令执行后都有一个特别的errorlevel,我们就可以根据相应的“返回值”作出相应判断并执行相应功能。findstr如果找到指定字符串,则有errorlevel=0,说明:IP不在线。那么既然不在线,我们就没有向下执行的必要了,直接跳回top界面功能接受下一次指令。如果IP有不同回应,说明在线,则开始检测共享。“net view \\%topip%%theip%\”--查看指定IP的共享清单。net详细命令请自行查阅。列出共享清单后返回功能界面。 step2:打开共享一。“explorer \\%topip%%theip%\”,用资源管理器打开指定的IP根。注意语法,其它也没有什么。 step3:IPC$空连接。“net use \\%topip%%theip%\ipc$ "" /user:"administrator"”,一个很老的漏洞,但也许内网还有机子存在哩,嘿嘿,语法就是这样。 step4:一般信息。“ipconfig /all”--用于得到本机的IP与MAC等信息,很好用的命令。语法如示。 “nbtstat -na %topip%%theip%”--用于得到他方机子的一些信息,语法如示。另请自查帮助。 step5:Scanipc。用命令行打开了一个程序而已。在命令行下执行其它命令也就是这样啦。 step6:返回时间。“net time \\%topip%%theip%”--探测指定机子时间,语法如示。 step7:远程连接。“net use \\%topip%%theip%\admin$ "" /user:"administrator"”,嘿嘿,administrator空密码连接。最简单的入侵啦,嘿嘿嘿。语法如示。 step8:本机信息。跳到另一个功能界面执行相应功能。 step9:高级命令。跳到另一个功能界面执行相应功能。 step0:退出程序。一个exit退出脚本。“exit”,退出CMD。 onerrorsip:实现错误提示,并重新执行step1。 onerrorspno:实现错误提示,并重新跳转到功能界面。高级命令段:引用前面已给定的IP,并对其进行一些高级操作。重新绘制功能界面。首先,注意在一个BAT文件中,不允许出现有标志名的重复。 step11:条件连接。设定两个变量,分别为用户名与密码。注意到有一个默认的功能。实现原理是,当接受到用户输入为空时(即一个回车),变量将保持不变。条件连接语法如示。比前面远程空密码连接更高级一点,嘿嘿。 step12:打开共享。打开已经连接成功的对方计算机的指定盘。打开指定盘语法如示。 step13:发送消息。向对方发送消息。要求双方的messager服务开启,否则无法发送成功。发送消息语法如示。 step14:远程关机。设置关机时间与关机理由,用shutdown程序关闭对方计算机,嘿嘿,恶作剧。要求你连接成功,并有 shutdown程序支持。shutdown语法自查帮助。 step15:溢出CMD。嘿嘿,溢出到对方的CMD下,算是一个真正的入侵了。当然需要用户名与密码喽。要求用户名与密码正确并对方默认支持远程管理。并有psexec程序支持。psexec语法如示,并请自查帮助。 step16:结束进程。嘿嘿,不说也知道,结束对方已知进程。要求连接成功并有pskill程序支持。恶作剧类,有恶意成分。嘿嘿。小心使用。 step17:ipc$连接。同step3. step18:断开连接。断开与对方的连接,就是擦屁股啦,以免让对方有所察觉。这个好习惯要养成。语法如示。 step19:一般命令。返回前面一个功能界面。 step20:结束程序。退出。 step110:AT命令,令对方在指定时间运行指定命令。有点像木马,嘿嘿。要求连接成功。因为节约变量,所以引用了前面的暂不使用的变量。好习惯。哈哈。 step111:telnet。远程telnet。不要说你一点都不知道,语法如示并请自查帮助。 step112:更改主IP。主要是为了使我们的使用方便,对某个特定IP段探测能够简化输入。如主IP改成“172.16.130.”,那么专门对130探测,而且输入IP时只需输入最后位,嘿嘿,多方便啊。 step113:任意命令。主要是接受用户输入并执行用户的输入罢了,结构如示。本机信息段:主要是对本机信息的一些查询语法。 stepm1:ipconfig,不说了。但请注意到,在功能界面的实现上有一点,“&”符号,因为“&”符号在CMD下是命令连接符,如果光用“&”会让BAT误解为其后的都是命令。但我们只是希望输出一个“&”罢了,于是用“^”符号连接符表明只是输出“&”,而不是实现命令连接。这里提一下“&”命令连接符,例如:echo frist&echo second.同效于: echo frist echo second. 只是实现结合两行命令在同一行实现。类如一个很简单的批处理啦。再提一下“^”符号连接符,对一些特殊符号可能在CMD下无法正确如愿显示,可用“^”连接,以达到如期效果。用了“^”在文本中占了一位空间,但在输出时它并不显示,所以注意界面的布置。 stepm2:本机进程。利用命令行下的进程工具查看进程。要求pslist程序支持。 stepm3:本机用户。就是查询一下本机用户,也许会发现机了被动过的痕迹。 stepm4:结束进程。在命令行下结束本机进程。要求有pskill程序支持。 stepm5:本机端口。也许能看出被攻击或被入侵的痕迹。语法如示。 stepm6:共享情况。看看本机的共享是否真的如你所想,如你所见。否则请注意安全喽。语法如示。 stepm7:启动项值。在命令行下导出启动项值并给出结果。比魔法兔子什么的快多了,就是界面不是很好看,呵呵。语法如示。 stepm0:退出程序。退出。小结:到此,您学习过了一些有用的命令与应用。以及大部分的网络命令与外部程序的使用。接下来你可以模拟IP小工具写出适合更自己的IP小工具哦。注意每执行完一项功能后要用goto返回功能界面,否则脚本无条件向下继续执行。;errorlevel的应用。在BAT中,errorlevel的作用很大,大家在使用过程中通过多次接触,感受一下如何玩转errorlevel。在执行完一个程序后,可以用echo %errorlevel%查看程序运行后是如何设定errorlevel的值。;if的应用。在BAT中,if语句的作用也很大,特别与errorlevel结合实现自动判断。以及一些基本条件判断。请查看"if /?" 学习更详细的说明。;变量的接受与传递。这方面的感觉需要大家多写BAT才能有所感触。如何合理与高效的应用变量,能使你的脚本更加漂亮。计算机语言都是实践性很强的,我们学习理论只是基础,通过大量的实践才能真正掌握一门语言的应用。 第三节:(一些应用技巧与命令)接下来我们看我的“代理服务器搜索组件 (ver 2.1)”, 1.“>”与“>>”的区别。 “>”--把指定数据传送到指定文件或区域。有覆盖作用,从文件头开始重写文件。如指定文件不存在,则新建文件并存入指定数据。 “>>”--以追加方式将指定数据传送到指定文件或区域。从文件结尾开始写入指定内容。这两个功能有区别,请注意选择合适的传送方式传送数据。例如:“echo 文本内容。>link.txt”与“echo 文本内容。>>link.txt”。若本不存在文件link.txt或文件link.txt内容为空,那么两条命令的运行结果相同。但如果link.txt不为空,那么第一条命令将清除link.txt所有内容并存入数据“文本内容。 ”保存。而第二条命令只在link.txt的文件尾(另起一行,注意每一个“>>”都会另起一行写入新数据)追加数据“文本内容。”而以前的内容保持不变。还要特别提一个前面说过的“丢弃”用法“>nul”,因为我们有时候只需要命令的运行而并不需要看到命令的运行结果以及回显,但这些命令又会出现我们并不需要看到的回显,影响美观。故在其后追加“>nul”,丢弃回显。 2.循环语句的说明。例2: :puship set /p tip= if %tip%==%tbip% goto step1 set tbip=%tip% echo %tip% >>link.txt goto puship 本例中“if %tip%==%tbip% goto step1”与“if %tip% equ %tbip% goto step1”效果一样。本例的作用是接受用户帖入数据。关键技术在于:因为用户帖入数据我们不能使用户每次输入都询问是否结束,而需要实现“ 智能化”的判断,但如何以最少的代码、最简单的方法实现所谓的“智能化”呢。分析用户输入情况:因为一般用户帖入数据都不会出现重复,所以我们利用这个特点,分析用户的数据,当用户帖入列表时,分析数据并将数据存入相应文本,以备后用。当用户粘帖文本结束后,再加一个回车,因为最后一次变量没有接受到任何修改,于是保持默认不变(也就是之前的数据。),再通过我们之前的数据备份对照,分析是否不变,是,则跳出循环。这样,我们通过两个变量以一个IF比较实现相对简单的“智能化”。嘿嘿,这一点代码想了我一个小时。这么说不知道大家是否能理解。请仔细参透例2的技术要点。 3.“FOR /F "eol=; tokens=1 delims=: " %%i in (link.txt) do (set /a Allip=Allip+1>nul)” 这句FOR语句是复杂的杂合语句。首先请用for /?查阅详细用法,这里不再复述。但是特别要提一点的就是批处理与直接命令行下的CMD的区别在FOR语句上。批处理时,变量引用需要有两个“%”号,否则无法正确执行,而CMD下不用,只需一个“%”。 “set /a Allip=Allip+1>nul”--实现算术运算,变量Allip的自增,注意大小写。把回显“丢弃”。本例实现对文件link.txt内容计数,忽略以“;”开头的行。这就是为什么我们在前面要用“echo ;:文本>link.txt”来创建文本的意义所在。 4.“call toping %%i”--从批处理程序调用另一个批处理程序。调用另一个批处理“toping.bat”(因为BAT可以直接运行所以不需要后缀BAT),并有参数传递。参数来自于FOR语句的提取。“FOR /F "eol=; tokens=1 delims=: " %%i in (link.txt) ”--从link.txt的每行中提取文本,从每行的开头第一个字符开始(tokens=1),以“:”界定提取结尾(delims=: )。把提取结果赋给变量i。 5.“type”--在命令行下显示指定文件的内容。相信大家应该很熟悉,不多说了。注意与“>或>>”的结合使用,或与其它操作符的结合使用。 6.“%1”--在CMD下,一个BAT能够接受同时9位的参数,“%1~%9”,分别对应给定的参数变量。“%0”,即是文件本身。我们在使用BAT的过程中会经常遇到两个或两个以上脚本间需要参数传递。那么请好好掌握这个用法,多说无益,需要大家在实践中积累经验。 7.再说一些比较边缘,但大家比较兴趣的命令。呵呵,不要做坏事。 net user admin 123 /add net localgroup administrators admin /add net localgroup users admin /del net user admin /active:yes net user net user admin net user admin /del “net user admin 123 /add”--添加名为“admin”,密码为“123”的用户,如果“123”不写,则默认密码为空。 “net localgroup administrators admin /add”--将用户“admin”加入“administrators”组,嘿嘿,高权限。 “net localgroup users admin /del”--将“admin”从“users”组删除。呵呵,因为用户新加进去时都是“users”组,权限比较低,所以要从这个组跳出来,保证administrators组的权限正式发挥作用,如果不这么做,对方系统会默认你的最低权限。 “net user admin /active:yes”--怕没法使用没有启动,不要紧,激活这个帐号,嘿嘿。 “net user”--看看用户有多少哦。 “net user admin”--看看刚刚加的用户信息如何,是否如我所想,如我所愿呢。 “net user admin /del”--删除用户admin。 -------------------------------------------------------------------------------------------------------------------
4. 关于.bat处理命令
@echo off
cd bak\qq
qq.exe
echo 远程连接已关闭!
echo. & pause
改成这样
按任意键会关闭!
我还没有更好的办法!
5. 如何使用bat脚本获取电脑上所有windows服务的信息
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::
::获取本机服务列表By依梦琴瑶2017-3-25
::
::
::如非必要,请勿随意修改代码,以免运行出错。
::尊重劳动成果,保留版权声明。
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echooff&
cd/d%~dp0&setPROG=获取本机服务列表
ifnot"%~n0"=="%PROG%"move/y"%~0""%PROG%%~x0">nul&start"""%PROG%%~x0"
color0a&title%PROG%By依梦琴瑶
echo正在努力获取本机服务列表,请稍后。。。
(echo显示名称^|^|^|^|服务名称^|^|^|^|描述^|^|^|^|状态^|^|^|^|启动类型^|^|^|^|登录为^|^|^|^|执行路径
for/f"tokens=2*delims=:"%%ain('scquerystate^=all^|findstr"^SERVICE_NAME:<STATE"')do(
for%%cin(DISPLAY_NAME,SERVICE_NAME,DESCRIPTION,STATE,START_TYPE,SERVICE_START_NAME,BINARY_PATH_NAME)doifnotdefined%%cset"%%c=(无)"
set/aNum+=1
if!Num!equ2(
echo"%%a"|findstr"RUNNING">nul&&set"STATE=已启动"||set"STATE=已停止"
setNum=0
echo!DISPLAY_NAME!^|^|^|^|!SERVICE_NAME!^|^|^|^|!DESCRIPTION!^|^|^|^|!STATE!^|^|^|^|!START_TYPE!^|^|^|^|!SERVICE_START_NAME!^|^|^|^|!BINARY_PATH_NAME!
)else(
for/f"tokens=2*delims=:"%%bin('scqdescription%%a')do(
set"DESCRIPTION=%%b"
set"DESCRIPTION=!DESCRIPTION:~2!"
)
for/f"tokens=2*delims=="%%bin('scGetDisplayName%%a')do(
set"DISPLAY_NAME=%%b"
set"DISPLAY_NAME=!DISPLAY_NAME:~1!"
)
for/f"delims="%%bin('scqc%%a^|findstr"<START_TYPE<BINARY_PATH_NAME<SERVICE_START_NAME"')do(
set/aCut+=1
if!Cut!equ3(
echo"%%b"|findstr/i"LocalService">nul&&set"SERVICE_START_NAME=本地服务"||(
echo"%%b"|findstr/i"LocalSystem">nul&&set"SERVICE_START_NAME=本地系统"||(
echo"%%b"|findstr/i"NetworkService">nul&&set"SERVICE_START_NAME=网络服务"||(
set"SERVICE_START_NAME=%%b"
set"SERVICE_START_NAME=!SERVICE_START_NAME:SERVICE_START_NAME:=!"
)
)
)
setCut=0
)else(
if!Cut!equ2(
set"BINARY_PATH_NAME=%%b"
set"BINARY_PATH_NAME=!BINARY_PATH_NAME:BINARY_PATH_NAME:=!"
)else(
echo"%%b"|findstr"DELAYED">nul&&set"START_TYPE=自动(延迟启动)"||(
echo"%%b"|findstr"AUTO_START">nul&&set"START_TYPE=自动"||(
echo"%%b"|findstr"DEMAND_START">nul&&set"START_TYPE=手动"||set"START_TYPE=禁用"
)
)
)
)
)
set"SERVICE_NAME=%%a"
set"SERVICE_NAME=!SERVICE_NAME:~1!"
)
))>ymqy.$
:SortingList
for/f"skip=1tokens=1delims=[]"%%ain('find/n"::SortingListVBS::""%~0"')dosetLine=%%~a
more+%Line%"%~0">Sorting.VBS
(cscript//nologo//e:jscript"Sorting.VBS"<ymqy.$)>"%~dp0%COMPUTERNAME%_服务列表.Log"
del/f/qymqy.$Sorting.VBS
cls&echo本机服务列表已输出至"%~dp0%COMPUTERNAME%_服务列表.Log"
echo,&echo请按任意建退出&pause>nul
exit
::SortingListVBS::
vari=0,arr=[],max=[];
varreg=/[^x00-xff]/g;
while(!WSH.StdIn.AtEndOfStream){
varstrLine=WSH.StdIn.ReadLine();
if(!/^s*$/.test(strLine)){
arr[i]=strLine.split('||');
for(varj=0;j<arr[i].length;j++){
varlen=arr[i][j].replace(reg,'..').length;
if(!max[j]||len>max[j])max[j]=len;
}
i++;
}
}
for(vari=0;i<arr.length;i++){
vars='';
for(varj=0;j<arr[i].length;j++){
varlen=max[j]-arr[i][j].replace(reg,'..').length;
varspace='';
for(vark=0;k<len;k++)space+='';
s+=arr[i][j]+space;
}
WScript.Echo(s);
}
迟到的回答,实在抱歉,事儿有点多。生成的列表信息保存在脚本目录下,名字为当前系统的本机名。后缀为Log。
你运行,看看符不符合你的要求。
6. bat文件恶作剧代码
@echo off & color 1f
:1
if "%1"=="" goto :FullScreen
::还原显示模式
REG Add HKEY_CURRENT_USER\Console /v FullScreen /t REG_DWORD /d %1 /f>nul
::全屏状态下代码段
cls
echo A problem has been detected and windows has been shut down to prevent damage to your computer.
echo .
echo DRIVER_IRQL_NOT_LESS_OR_EQUAL
echo .
echo If this is the first time ...
echo .
echo If ... continue,press F8 to select advanced startup options, and then select saft mode.
echo .
echo Technical information:
echo .
echo *** stop:0X000000D1(0X00000040,0X00000002,0X00000001,0XF9A5E150)
echo .
set /p wkdxz=*** wanarp.sys-Address F9A5E150 base at F9A59000, Datestamp 41107C89<nul
pause>nul
Goto :1
:FullScreen
::查询显示模式
Set ShowMode=0
for /f "delims=" %%i in ('REG QUERY HKEY_CURRENT_USER\Console /v "FullScreen"') do (
Set ShowMode=%%i
)
Set ShowMode=%ShowMode:~-1%
::设置显示模式为全屏
REG Add HKEY_CURRENT_USER\Console /v FullScreen /t REG_DWORD /d 1 /f>nul
::全屏启动当前Bat脚本
start "" %0 %ShowMode%
退出方式:
按CTRL+C终止批处理,输入Y回车,输入EXIT回车即可退出
蓝屏代码,只是搞怪,不会破坏系统.
按ALT+F4也退不出来
7. bat命令定义变量
set var=1,等号两边的空格去掉,不然cmd会把var+空格当成一个变量名,空格+1当成变量值
8. winbat 批处理 提示输入行太多 怎么解决
载点击安装文件(setup.exe)进行安装第画面GNU版权说明点"步(N)—>"进入安装模式选择画面
安装模式"Install from Internet"、"Download form Internet"、
"Install from Local Directory" 三种"Install form Internet"直接internet装适用于网速较快情况我网速快或者说装想载安装文件保存起再载直接安装应该选择"Download form Internet"载安装文件(约40M左右)
接选择安装目路径安装源文件所路径进入选择安装包所路径
注意阿重戏我第安装候没看清步结没gcc装进导致没编译文件
+ All Default
+ Admin Default
....
+ Devel Default
+ Editors Default
....
图所示TreeView某节点双击改变状态Default、Install、Uninstall、Reinstall四种状态默认都Default状态工具默认状态都安装
我选择All行面Default点Install全部安装免患(注意:树形控件win面同试试点All点 All行面Default点同响应)
我装3都装共占2g空间觉装linux呢win用切换系统错
点步安装功自桌面建立快捷式
双击cygwin快捷式进入系统
首先介绍几简单linux命令
pwd 显示前路径
cd 改变前路径参数进入应用户home目录
ls 列前目录文件命令N参数比ls -al
ps 列前系统进程
kill 杀死某进程
mkdir 建立目录
rmdir 删除目录
rm 删除文件
mv 文件改名或目录改名
man 联机帮助
less 显示文件末几行
由于linux面命令都参数组合使用所每或者记清楚改用参数关候用man查找比我想查找ls使用键入
$ man ls
系统显信息:
LS(1) FSF LS(1)
NAME
ls - list directory contents
SYNOPSIS
ls [OPTION]... [FILE]...
DESCRIPTION
List information about the FILEs (the current directory by
default). Sort entries alphabetically if none of -cftuSUX
nor --sort.
-a, --all
do not hide entries starting with .
-A, --almost-all
do not list implied . and ..
-b, --escape
print octal escapes for nongraphic characters
--block-size=SIZE
use SIZE-byte blocks
KDE安装
网介绍装kde我试久都行winkde on cygwin安装包装提示缺少xwin我找win.exe安装包结装漂亮kde速度超慢
http://nchc.dl.sourceforge.net/sourceforge/kde-cygwin/setup-kde-3.1.1-b1.exe
文显示
1. 编辑用户home目录文件.inputc除几行注释:set meta-flag on
# 关闭bash命令行8字节字符转义符转换
set convert-meta off
# 使bash命令行支持8字节字符输
set output-meta on
set input-meta on
2 编辑用户home目录文件.bash_profile文件末尾加面几行:
alias ls='ls --color --show-control-chars'
export LC_ALL=zh_CN.GB23122
export LC_CTYPE=zh_CN.GB2312
export LANG=zh_CN.GB2312
export XMODIFIERS="@im=Chinput"3
stty cs8 -istrip
stty pass8
# Update: 少less支持文
export LESSCHARSET=latin1
3.经程重启cygwin应许支持文要改变home目录则要编辑cygwin.bat具体:
bash命令前加入set HOME=<用户目录>比用户目录设置G:\home
新设定<用户目录>创建文件.inputc.bash_profile
由于用惯windows所想资源管理器创建两文件
所干脆先跑bash用echo
创建两文件
echo a>.inputc
echo a>.bash_profile
用喜编辑器编辑
要ls乱码vi ~\.bashrc修改:
alias ls=’ls -hF –show-control-chars –color=tty’
cygwin.bat脚本:
@echo off
set MAKE_MODE=UNIX
9. windows bat脚本怎么定义函数
是啊,goto就可以。用
:Function_name
做标签,
goto main
做函数结尾的返回这样
但是即使你不去呼叫那个函数,他也会按顺序运行,除非在函数之前退出。所以函数要放最后。
像
:start
set /a lol=1
goto main
:main
if lol lss 10 goto increment
goto output
:increment
set /a lol=lol+2
goto decrement
:output
echo %lol%
goto end
:decrement
set /a lol=lol-1
goto main
:end