bat 批处理脚本
目录:
1:ping多个不同服务器IP
2:每隔一段时间清一次DNS缓存
3:将一个文件夹中的所有文件,分别保存在一个新文件夹中,以保持每个文件夹一个文件
功能1:ping多个不同服务器IP
环境开通防火墙后,经常需要对其他不同服务器进行网络连通测试。这时就需要ping多个不同服务器,这里简单列了一个windows下的批处理文件,简单做下备忘。
步骤:
1、在一个文件夹,先保存一个ping.txt的文件,存放不同机器的ip地址。
10.9.16.91
10.9.16.92
10.9.16.93
10.9.16.97
2、在相同文件夹,编写一个pingtest.cmd的程序文件,用于进行连通性测试。
格式如下:
echo ------------lost connection ip list------------> err.txt
@echo off
for /f %%i in (ip.txt) do (
ping %%i -n 1
if errorlevel 1 echo %%i >>err.txt
)
notepad err.txt
执行完成后,会将执行失败的IP存到err.txt文件中。
------------lost connection ip list------------
10.9.16.91
10.9.16.92
10.9.16.97
功能2:每隔一段时间清一次DNS缓存
预期目标:每隔一段时间清一次DNS缓存,清之前打印当前机器的DNS情况,并将更新时间与次数都打印输出到一个文件中。
实现:脚本开始执行后,需要手动关闭dos窗口才会终止,否则会一直执行。
@echo off set "a=0"
echo *********定时清理缓存开始*********>>D:\flushdns_01.txt,D:\flushdns_02.txt
echo 日期,时间,次数>>D:\flushdns_01.txt,D:\flushdns_02.txt :loop ipconfig /displaydns >>D:\flushdns_02.txt ipconfig /flushdns set /a "a=%a%+1" echo %date%,%time%,第%a%次 >>D:\flushdns_01.txt,D:\flushdns_02.txt
timeout /t /nobreak > nul goto loop
说明:
ipconfig /displaydns >>D:\flushdns_02.txt 即,将查看DNS结果输出到指定目录中。
timeout /t 5 /nobreak > nul 表示,等待5秒。有的机器可能不支持,需要先手动在dos窗口下执行下,如果不支持,则需要做下简单配置。
参考网上找到的一个小程序
@echo off
setlocal enabledelayedexpansion
set "a=0"
:loop
start "" /b /wait "1.bat"(要执行的程序)
set /a "a=!a!+1"
echo 次数!a!
if %a%==(执行的次数) exit
goto loop
功能3:将一个文件夹中的所有文件,分别保存在一个新文件夹中,以保持每个文件夹一个文件
步骤:
1、将d:\test目录下10个文件的文件名称打印到一个新文件夹ip.txt中。
2、通过for循环获取到ip.txt中的每行文件,每一个文件名称创建一个文件夹,并且将该文件移动到新建的文件夹中。
@echo on
d:
cd d:\test
dir *.* /B >d:\test\ip.txt
for /f %%I in (d:\test\ip.txt) do md d:\test\%%~nI && move %%I d:\test\%%~nI\%%I
说明:
1、for /f %%I in (d:\test\ip.txt) do md d:\test\%%~nI && move %%I d:\test\%%~nI\%%I
这行脚本在dos环境下直接执行需要将%%I转换为%I。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable 而不要用 %variable。
2、%%~nI 表示只取变量中的文件名称,还有其他很多取值方式。
3、md ip 创建一个文件夹
最新文章
- CSharpGL(4)设计和使用Camera
- Win32编程:窗口类样式+窗口外观样式+窗口显示样式
- eclipse的使用-------Text File Encoding没有GBK选项的设置
- 黄聪:JS实现复制到剪贴板功能,兼容所有浏览器(转)
- 为什么Tomcat的webapps目录下新建的目录不能访问html文件?
- 细说PHP优化那些事
- sqlite数据库操作详细介绍 增删改查,游标
- Node.js and Forever “exited with code: 0”
- NYOJ 480 Fibonacci Again!
- 实现logstash6.4.3 同步mysql数据到Elasticsearch6.4.3
- c#+.net常用功能点
- 电脑用bat脚本给手机批量自动安装apk文件 autoInstall.bat
- SQL格式化插件—SQL Pretty Printer
- Django 学习笔记(一) --- Hello Django
- Nginx-rtmp 直播媒体实时流实现
- JavaScript引用类型和值类型
- Dynamic Programming for TSP
- json_encode用法
- 如何隐藏你的 Linux 的命令行历史
- NFC学习总结
热门文章
- Android开发常用代码片段
- 使用 DB Fixtures 为 Unit Test 提供基础数据,Sails + Mocha 实现。
- opencv显示鼠标所在位置的rgb值
- nandflash学习1——导致nandflash反转的原因【转】
- Oracle中用一个表的数据更新另一个表的数据
- Linux同步机制(二) - 条件变量,信号量,文件锁,栅栏
- WebView中Js与Android本地函数的相互调用
- hdu1052(田忌赛马 贪心)
- Jquery Highcharts 参数配置说明
- C#操作文件