[知识]一些常用的bat脚本

  • 格式:pdf
  • 大小:406.17 KB
  • 文档页数:6

一些常用的bat脚本

0000

---------- 把同一文件拷贝到所有子目录中.BAT

000

@echo off

00000

for /r . %%a in (.) do copy 文件名 %%a

000

---------- 遍历可用ip地址,小心被网管k死.BAT

0000

@set YAHOO=66.218.71.90

000

@set IP=200

000

@set TIMEOUT=500

000

:Loop

000

@netsh interface ip set address name="本地连接" source=static

addr=192.168.0.%ip% mask=255.255.255.0 192.168.0.1 1

000

0

@echo.

000

@echo Checking 192.168.0.%IP%

00000

@ping -n 1 -w %TIMEOUT% %YAHOO% | find "Reply"

0000

@set /a ip=%ip%+1

000

@if %ip% EQU 255 goto :End

000

@goto :Loop

000

:End

000

---------- WINRAR嵌套解压缩.BAT

00000

@echo off

00000

for /l %i in (1,1,3) do rar x -r -o- .

00000

---------- WINXP怎样通过脚本实现从文本中截取字符串再作为命

令的参数运行.TXT

000

route print 163.200.0.0 >1.txt

00000

for /f "skip=8 tokens=3" %i in (1.txt) do route add 162.200.0.0 mask 255.255.0.0 %i && exit

00000

WinXP的机器。

000

我希望从命令如"route print 163.200.0.0"的输出结果中截取出网

关IP地址,再将另一网段的路由指向该网关,如“route add

162.200.0.0 ”,在UNIX下可以作到,不知能否通过Win

的批处理命令或其它脚本实现?

000

我对Win下的脚本无任何使用经验,请帮忙!谢谢!

0000

订正:

000

for /f "skip=8 tokens=3" %i in ('route print 163.200.0.0') do

route add 162.200.0.0 mask 255.255.0.0 %i && exit

000

---------- 遍历盘取文件路径.BAT

000

@echo off

00000

for /r %%I in (*.*) do echo %%~fnI >> c:\列表.txt

000

---------- 遍历盘取文件路径1.BAT

000

@echo off

00000

dir /a:d /s /a /b >c:\list.txt

00000

---------- 检看局域网内网卡的MAC.BAT

000

@echo off

00000

for /l %%a in (1,1,254) do ping -n 1 -w 10 192.168.0.%%a

000

arp -a

00000

---------- 建立当前日期目录.BAT

000 set today=%date:~4,10%

000

md "today"

000

---------- 将某个盘里的所有EXE覆盖到另一个盘的相应目录.BAT

000

xcopy *.exe 目标路径\. /s/e/y

000

---------- 复制目录结构,而不复制目录下的文件.BAT

000

xcopy /t/e

000

---------- 每个文件生成一个同名文件夹,然后把各个文件拷贝到

同名文件夹中.BAT

000

@echo off

00000

for %%a in (*.*) do mkdir "%%~na"

000

for %%a in (*.*) do copy %%a "%%~na"

000

---------- 扫描一个网段.用FOR和PING.然后得到存活主机把结果

存为IP和IP之间用,隔开.BAT

00000

for /l %%i in (1,1,254) do ping -n 1 192.168.0.%%i | find

"Reply" >>1.txt

00000

for /f "tokens=3" %%i in (1.txt) do echo %%i >>2.txt

000

0

for /f "tokens=1 delims=:" %%i in (2.txt) do echo %%i, >>3.txt

000

del 1.txt 2.txt && cls && type 3.txt && pause

0000

订正:

000

for /l %i in (1,1,254) do @echo connecting 192.168.1.%i && @(for

/f "tokens=1,3 skip=2 delims=: " %j in ('ping 192.168.1.%i')

do @if '%j'=='Reply' @find "192.168.1.%i" list.txt > nul 2>nul || @echo %k>>list.txt && @echo 192.168.1.%i connected)

000

---------- 删除指定大小文件,拷贝,移动,改名.BAT

000

@echo off

00000

for /r %%a in (*.jpg,*.jpeg,*.png) do if %%~za lss 50000 del

/q "%%a"

00000

---------- 删除指定扩展类型文件,拷贝,移动,改名.BAT

000

0

@echo off

00000

for /r %%a in (*.htm,*.html,*.gif,*.js,*.bmp) do del /q "%%a"

000

---------- 删除指定扩展类型文件.BAT

000

del /s/f/q *.exe

000

---------- 生成001.TXT 002.TXT 999.TXT 文本内容分别是

TEXT001 TEXT002.BAT

000

@echo off

00000

for /l %%a in (1,1,9) do @echo text00%%a >00%%a.txt

000

for /l %%a in (10,1,99) do @echo text0%%a >0%%a.txt

000

for /l %%a in (100,1,999) do @echo text%%a >%%a.txt

000

---------- 刷新网卡.BAT

000

@echo off

00000

nbtstat -RR

000 ipconfig /flushdns

00000

ipconfig /renew

00000

ipconfig /release

000

---------- 死循环.BAT

00000

@echo off

00000

for /l %%a in (1,0,2) do dir %%a

000

---------- 向目录里的每个文件夹里面都COPY一份相同的文

件.BAT

00000

for /r %a in (.) do xcopy /y c:\1.txt "%~pa"

0000

---------- 一张图片一次复制几十张.BAT

000

@echo off

00000

for /l %a in (1, 1, 10) do copy "a.jpg" "a%a.jpg"

0000

---------- 自动为备份的目标文件命不同的名称.BAT

0000

echo f | xcopy x.x 目标路径\"%date%-x".x

0000

想要做到即使目标文件与源文件相同,也要备份一份,应怎样做?例如,

今天的目标文件为2004-02-07-00001.ZIP,明天的目标文件为

2004-02-08-00001.ZIP以此类推.可以留几十个备份且文件名会自动

更正,有没有办法?

000

---------- 列表文本文件文件名+文件内容.BAT

0000

find /v "" *.* >1.txt

000

path c:\mysql\bin;c:\progra~1\winrardel /q/f

d:\bakup\*.*@echo off mysql -uroot -ppassword dbname <