批处理(Batch),也称批处理脚本。顾名思义,批处理就是对某对象进行批量的处理。批处理文件的扩展名为.bat 。
基于DOS命令的批处理,应用于DOS和Windows系统中,由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。批处理文件具有.bat或者.cmd的扩展名。批处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑,完成后把文件后缀名修改为.bat或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该批处理程序。一般情况下,每条命令占据一行;也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行甚至几十几百行的空间。系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。
下面枚举一些常用的批处理程序:
1、查看当前目录占用的空间
------------------------------------------------
@echo off
for /f "tokens=*" %%b in ('dir') do echo "%%b"|find "个文件">nul&&for /f "tokens=3*" %%c in ("%%b") do echo 当前目录 %%c %%d
for /f %%a in ('dir/ad/s/b') do for /f "tokens=*" %%b in ('"dir %%a\"') do echo "%%b"|find "个文件">nul&&for /f "tokens=3*" %%c in ("%%b") do echo %%a %%c %%d
pause
-------------------------------------------------
2、查找最新的文件
-------------------------------------------------
rem 文件更新列表批处理
cls
title YIPINGSOFT CopyRight2006
rem "=================================================="
For /r %%i in (.) DO del %%i\最新文件目录.txt
del 备查目录.txt
del 完整目录.txt
set homes=%date%
date/t >>完整目录.txt
for /F %%A in (完整目录.txt) do set homes=%%A
md %homes%&
dir /t:c /s>完整目录.txt
for /f "tokens=1,4* delims= " %%1 in (完整目录.txt) do for /r %%a in (%%2*) do if %%1==%homes% echo %%~fa >>最新文件目录.txt
For /r %%i in (*.*) DO echo %%~fi >>备查目录.txt
copy 最新文件目录.txt %homes%&\
-------------------------------------------------
3、查看进程使用端口
-------------------------------------------------
@echo off
color 1f
Title XP端口-进程查询
setlocal enabledelayedexpansion
echo ╔- -╗
echo 本机开放的端口及使用该端口的进程
echo ╚- -╝
echo --------- ------------
echo 端口号 进程名称
ECHO TCP协议:
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割;
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j;
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (
call :Assoc %%i TCP %%j
echo !TCP_Port! !TCP_Proc_Name!
)
ECHO UDP协议:
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do (
cal
···
···