批处理心得体会

书写环境

必定要在记事本里写,nodepad++中可能会有些默认的样式,曾经把nodepad++中的批处理代码直接复制到txt中是没有格式的,最终致使批处理没法执行。因此最好在txt中书写,按照格式空格换行写好就行了,有些时候看着代码格式无误,但运行出错,多是由于中间有些格式在编辑时出错,好比换行目测有实际没有等的状况,在错误所在处进行检测,能够从新写一遍或者从新敲下回车试试。node

例子

if(条件判断) \ set(设置变量)
 
 
 
 
 
@echo off echo ----1、注销系统echo ----2、重启系统echo ----3、关闭系统echo ----4、退出set num=::接收用户的输入并做为变量保存到num中去set /p num=请选择你要执行的操做:if "%num%"=="1"(logoff)if "%num%"=="2"(shutdown -r /t 000)if "%num%"=="3"(shutdown -p)echo 你输入了%num%将退出pause
if \ echo \ type
 
 
 
 
 
@echo offif exist a.txt (echo 找到了a.txt,其内容为 type a.txt) else (echo 没有找到a.txt)pause
管道
 
 
 
 
 
@echo offfind "1" 1.txt | sort /r >2.txt::/r为倒序排列pause
> >>用于将内容写入文件
 
 
 
 
 
ping sz.tencent.com > a.txtping sz1.tencent.com >> a.txtping sz2.tencent.com >> a.txtping sz3.tencent.com >> a.txtping sz4.tencent.com >> a.txtping sz5.tencent.com >> a.txtping sz6.tencent.com >> a.txt
set
 
 
 
 
 
@echo offset nnn=set /p nnn=请输入命令:%nnn%pause
 
 
 
 
 
@echo offset /p num=请输入要执行的操做:set /p a=请输入内容:set /p b=请输入文件名:set /p c=请输入复制后的文件名:echo %a% >%b%.txtcopy %b%.txt c:\%c%.txtpauseset a=set b=set c=
start
 
 
 
 
 
@echo offecho "将在新窗口中执行命令"start /wait cd /d c:\::将等待新窗口执行完毕pause@echo offecho "将在新窗口中执行命令"start cd /d c:\::只负责在新窗口执行命令pause
if \ set \ if中使用变量的状况
 
 
 
 
 
@echo offset /p n=请输入要执行的操做:if "%n%"=="1" (set /p a=请输入内容:set /p b=请输入文件名:set /p c=请输入复制后的文件名:goto aa:aaecho %a% >%b%.txtgoto bb:bbcopy %b%.txt c:\%c%.txt::if中的变量引用若是不使用goto时只能引用到第一个变量!)pauseset a=set b=set c=set num=

goto

 
 
 
 
 
goto lasttype a.txt:lastdir a.txtpause

call

 
 
 
 
 
@echo offecho 正在调用called.batpausecall called.batecho called.bat 调用完毕!echo 如今开始调用xx后面的命令call :xx:xxxx后面的命令pause

called.bat文件:spa

 
 
 
 
 
echo "called中的批处理"

经过检测端口检查病毒

 
 
 
 
 
netstat -a -n > a.txttype a.txt | find '7626' && echo 'Congrartulations! You have infected GLACIER!'del a.txt pause & exit
for in循环
 
 
 
 
 
@echo offecho "collection:" > a.txtfor %%x in (*.bat) do (type %%x >> a.txt)pause
<
 
 
 
 
 
@echo offsort <1.txtpause


相关文章
相关标签/搜索