------------------------------------------------------------
偶得一个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
偶得一个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