bat 文件常见语句使用举例

------------------------------------------------------------
偶得一个bat文件,感觉到批命令也可以编程, 下面是阅读
cdn-net-main.bat 的笔记, 以后用到时可以参考写法。
cdn-nat-main.bat 是一个网络测试批处理文件,见后面附录
------------------------------------------------------------
1. 注释的写法 ::
2. 显示信息语句: echo
3. 关闭命令行执行信息输出:echo off,
4. 设置变量 set = 语句,
5. 引用变量 %VAR%
6. 字符串操作。
    删除/:        set datefmt=%datefmt:/=%
    删除空格:     set nametrim=%name: =%
    取字串:     set datefmt=%date:~0,10%
7. 与用户交互:
    set /p name=your Name:
8. 执行外部命令
    pause,date,time,echo,curl,ipconfig
9. 函数定义与函数调用
    call:fun_test para1 para2
    函数参数引用:%1, %2
10. for 语句
    for %%i in () do ()
    if neq ()
    块语句()
------------------------------------------------------------
附录: cdn-nat-main.bat
------------------------------------------------------------
@echo off

set PATH=.\bin;%PATH%

echo ------------------------------------------------------
echo  Welcome to the network environment CDN test of Icntv
echo  Please according to our tip for operation
echo ------------------------------------------------------

echo Please delete the last generation of log, if want to keep this log please change log suffix (not. Log) &pause

set datefmt=%date:~0,10%
set datefmt=%datefmt:/=%

::init
::clear logs
del /f /q *.log

::[Test1]User Info
set /p name=your Name:
set /p city=city:
set /p recomm=referrer:
set /p ispBW=network bandwidth:

::[Log Name]CDNNET_USERNAME_YYYYMMDD.log
set nametrim=%name: =%
set citytrim=%city: =%
set LOG_FILE=RESULT_%nametrim%_%citytrim%_%datefmt%_%random%.log

echo Testing begins, it would cost you a period of time, please don't close the window!!!
pause

::Start Test
echo =======Start CDN Environment=======>%LOG_FILE%
date /t>>%LOG_FILE%
time /t>>%LOG_FILE%
echo ===================================>>%LOG_FILE%
echo ###################################>>%LOG_FILE%
echo [Test1]User Info>>%LOG_FILE%
echo ###################################>>%LOG_FILE%
echo [Test1-User]Start>>%LOG_FILE%
echo Name:%name%>>%LOG_FILE%
echo City:%city%>>%LOG_FILE%
echo Recomm:%recomm%>>%LOG_FILE%
echo ISPboundwidth:%ispBW%>>%LOG_FILE%
curl http://iframe.ip138.com/ic.asp>>%LOG_FILE%
echo ENDENDENDEND>>%LOG_FILE%
ipconfig /all>>%LOG_FILE%
echo [Test1-User]End>>%LOG_FILE%

echo ###################################>>%LOG_FILE%
echo [Test2]CDN Network Environment Test>>%LOG_FILE%
echo ###################################>>%LOG_FILE%
set baidu_url1="http://bar.baidu.com/sobar/install/Baidu-Toolbar.exe"
set duokan_url="http://cntv.duokanbox.com/tvservice/filtermediainfo?deviceid=test&ptf=204&apiver=1.7"
set sns_is_url1="http://sns.is.ysten.com/panel/panel.html"
set epg_is_url1="http://epg.is.ysten.com:8080/yst-epg/program!getMenuList.action#parentCatgId=0&templateId=4"
set epg_is_url2="http://epg.is.ysten.com:8080/yst-epg/program!getMovieList.action#catgId=216254"
set epg_is_url3="http://epg.is.ysten.com:8080/yst-epg/program!getMovieDetailList.action#programSeriesId=762245&sortType=asc"
set images_is_url1="http://images.is.ysten.com:8080/images/ysten/images/2012/ceshi/20120213/01/V02/jgdy20120217.jpg"
set images_is_url2="http://images.is.ysten.com:8080/images/ysten/images/2012/ceshi/20120119/01/T01_1/dasanxia20120117.jpg"

::tracert

::test baidu.com
call:fun_node_test bar.baidu.com %baidu_url1%
::test bussiness
call:fun_node_test tms.is.ysten.com:8080
call:fun_node_test dispatchCenter.ysten.com:8080
call:fun_node_test dispatchnew.ysten.com
call:fun_node_test cntv.duokanbox.com %duokan_url%
call:fun_node_test sns.is.ysten.com %sns_is_url1%
call:fun_node_test epg.is.ysten.com:8080 %epg_is_url1% %epg_is_url2% %epg_is_url3% %images_is_url1% %images_is_url2%
call:fun_node_test vod01.media.ysten.com
::test cdn node
call:fun_node_test hot.media.ysten.com http://hot.media.ysten.com/media/new/2011/daoshi/20111124/[SD]ds_jgdy_20111209.mp4
call:fun_node_test hot.icntv.cctvcdn.net http://hot.icntv.cctvcdn.net/media/new/2011/daoshi/20111124/[SD]ds_jgdy_20111209.mp4 http://hot.icntv.cctvcdn.net/media/new/2013/07/12/sd_test_demo.mp4
call:fun_node_test mibox.icntv.cctvcdn.net http://mibox.icntv.cctvcdn.net/media/new/2011/daoshi/20111124/[SD]ds_jgdy_20111209.mp4

::upload log
echo Thank you very much for your participation!
pause
exit

::*********************************
::fun()
::param1->IP
::param2...n->resource url
::*********************************
:fun_node_test
echo [Test2-Node]Start %1>>%LOG_FILE%
echo %1
for /f "tokens=1,2 delims=:" %%i in ("%1") do (
   set ip=%%i
   set port=%%j
)
::ping IP
echo [fun_node_test]1.Fping %ip% -n 10>>%LOG_FILE%
Fping %ip% -n 10>>%LOG_FILE%
::trace
::echo [fun_node_test]2.tracert %ip%>>%LOG_FILE%
::start kill.bat tracert.exe
::tracert %ip%>>%LOG_FILE%
::wget
for %%i in (%*) do (
    if %%i neq %1 (
        echo %%i
        ::parse url
        set url=%%i
        setlocal enabledelayedexpansion
        set url=!url:#=?!

        ::wget
        echo [fun_node_test]3.wget !url!>>%LOG_FILE%
        ::start kill.bat wget.exe
        wget -S --tries=1 --output-document=testobject --append-output=%LOG_FILE% --timeout=10 !url!
        del /f /q testobject
        endlocal enabledelayedexpansion
    )
)
::connect time
echo [fun_node_test]4.connect time>>%LOG_FILE%
ConnectTest %ip%:%port% 10 >>%LOG_FILE%
echo [Test2-Node]End %1>>%LOG_FILE%
goto :eof

::*********************************
::fun()
::param1->IP
::*********************************
:fun_trace
::trace
echo [Test2-Tracert]Start %1>>%LOG_FILE%
echo trace %1
tracert %1>>%LOG_FILE%
echo [Test2-Tracert]End %1>>%LOG_FILE%
goto :eof


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常用批处理 bat 程序├─BAT优化│ -禁止修改、写入SYSTEM32目录.BAT│ -让XP不用图片查看器看图(略缩图).BAT│ DEL.JPG.SCR.BAT│ DELTEMP.BAT│ 关闭系统信使.BAT│ 减少非法关机等待扫描时间.BAT│ 删除系统备份文件.BAT│ 卸载INTEL集成显卡如同鸡胁的显面增强.BAT│ 卸载XP内置ZIP.BAT│ 恢复使用XP注册表.BAT│ 注册所有DLL.BAT│ 清除输入法外的所有RUN运行项.BAT│ 禁止修改、写入SYSTEM32目录.BAT│ 禁用危险的默认共享.BAT│ 让XP不用图片查看器看图(略缩图).BAT│ ├─其它类│ 2000XP停止打印.bat│ dir.bat│ sxs.exe 的查杀.bat│ sz.reg转换成reg.bat.bat│ 全盘删除所有文件夹下的_desktop.ini.bat│ 删除大小和类型一样的文件.bat│ 删除所有分区的默认共享.bat│ 将cwindows.复制到当前目录并显示进度.bat│ 打开快捷方式指向的目录.bat│ 批处理读注册表的Run下面的值.bat│ 按扩展名分类.bat│ 显示c盘~z盘.bat│ 枚举当前目录及子目录大小.bat│ 枚举显示.bat│ 查找最新的文件.bat│ 每个目录占用的空间.bat│ 篮球飞人火爆版.cmd│ 结束进程.bat│ 解锁注册表.BAT│ 输出倒文.bat│ 锁注册表.BAT│ ├─系统类│ C盘转换为NTFS格式.cmd│ dos下重启.bat│ guest.bat│ win2000关机命令.bat│ WIN2003 IIS最小权限分配.bat│ winxp修改计算机名.bat│ xp下确定最后的盘符.bat│ 不显示扩展名.bat│ 不显示隐藏文件.bat使用WMI别名获取CPU信息.bat│ 关闭IDE通道检测.bat│ 列举进程.bat│ 判断光驱是否可用.bat│ 判断光驱里有无光盘.bat│ 判断分区格式.bat│ 刷新策略.bat│ 取得硬盘数.bat│ 右键添加bat.bat│ 右键添加打开MS-DOS.bat│ 弹出光驱.bat│ 改变我的文档路径.bat│ 显示扩展名.bat│ 显示用户名.bat│ 显示隐藏文件.bat│ 更改电源管理方式.bat│ 更改盘符.bat│ 更改系统启动菜单的时间.bat│ 查看工作组.bat│ 查看物理内存.bat│ 查看用户是否存在.bat│ 查看电脑硬件信息.bat│ 查看驱动器.bat│ 禁止保留文档记录.bat│ 给每个盘添加卷标.cmd│ 被锁定帐户.bat│ 重命名administrator账号.bat│ └─网络类 ARP本机绑定.bat XP服务优化批处理.bat 中文显示ping结果.bat 断开网络联结.bat 显示网络配置.bat 显示自己的IP.bat 查看网关的MAC地址.bat 查看进程使用的端口.bat 检查网络信息.bat 百度关键字搜索.bat 绑定网关的批处理及预留维护提到.bat 自动改回主页.bat 自定义配置网络ip、网关、dns.bat 网络信息.txt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值