因为工作需要,遇到了一个情况,就是路由器的配置,考虑到需要经常登录路由器配置基本相同的设置,为了省点时间,就想自己写一个小程序,又想了一下,那样太麻烦,关键是自己对socket网络编程一无所知!那就用批处理好了,自己捣鼓了一下,没成功,于是就Google一下了资料,还好,终于找到了能用批处理的实现。
以下是在本机上的ftp示例:ftp服务器ip地址就设为了192.168.1.3。具体功能就是自动登录ftp服务器,和自动下载test.rar到D盘;功能非常简单,有兴趣的话还可以自行补充发挥。不过,这似乎不能算批处理了,而应该是Windows脚本了。
@echo off
echo dim ftp_host, ftp_user, ftp_pass > ftp_tmp.vbs
echo ftp_host = "192.168.1.3" >> ftp_tmp.vbs
echo ftp_user = "admin" >> ftp_tmp.vbs
echo ftp_pass = "admin888" >> ftp_tmp.vbs
echo set sh = WScript.CreateObject("WScript.Shell") >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.run "cmd" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "ftp " >> ftp_tmp.vbs
echo sh.SendKeys ftp_host >> ftp_tmp.vbs
echo sh.SendKeys "{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys ftp_user >> ftp_tmp.vbs
echo sh.SendKeys "{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys ftp_pass >> ftp_tmp.vbs
echo sh.SendKeys "{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "get test.rar D:/test.rar{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "bye{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "exit" >> ftp_tmp.vbs
ftp_tmp.vbs
del ftp_tmp.vbs
echo dim ftp_host, ftp_user, ftp_pass > ftp_tmp.vbs
echo ftp_host = "192.168.1.3" >> ftp_tmp.vbs
echo ftp_user = "admin" >> ftp_tmp.vbs
echo ftp_pass = "admin888" >> ftp_tmp.vbs
echo set sh = WScript.CreateObject("WScript.Shell") >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.run "cmd" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "ftp " >> ftp_tmp.vbs
echo sh.SendKeys ftp_host >> ftp_tmp.vbs
echo sh.SendKeys "{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys ftp_user >> ftp_tmp.vbs
echo sh.SendKeys "{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys ftp_pass >> ftp_tmp.vbs
echo sh.SendKeys "{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "get test.rar D:/test.rar{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "bye{ENTER}" >> ftp_tmp.vbs
echo WScript.Sleep 300 >> ftp_tmp.vbs
echo sh.SendKeys "exit" >> ftp_tmp.vbs
ftp_tmp.vbs
del ftp_tmp.vbs
进一步,把其中的vbs教本单独提出来加密一下下!得到:
#@~
^
YQIAAA
==
v;W2HDbotDPv
^
#, T!RP青天@#@
&
Eee开始编码CM@#@
&
Nks~WYa{4WdYS~6Y2{!d
+
M~~WDw{2Ck
/
@#@
&
6Oa{4K
/
DP
'
,J81 cF%cF fr@#@&6Ow|E/.~',JmNhkUE@#@&WYamwm/d~{PJC[skU%R0r@#@&k+DP/4P{~Um.kaY /M+lDnr(L+1OcJq?1DrwO UtnV^E#@#@& j1Dk2Oc?s+2,&TZ@#@&/tcD!UPrmhNr@#@& UmDb2Yc?Vn2P2!Z@#@&/4 U+UNnnXkPEWDwPE@#@&/4RUn NFXkP0Dw|4WkY@#@&kt jxNnnXkPJP3HKAI)J@#@& j1DrwD ?^+n2,&!T@#@&/4RUn NFXkP0Dw|;/D@#@&kt jxNnnXkPJP3HKAI)J@#@& j1DrwD ?^+n2,&!T@#@&/4RUn NFXkP0Dw|2lk/@#@&kt jxNnnXkPJP3HKAI)J@#@& j1DrwD ?^+n2,&!T@#@&/4RUn NFXkPJ^/P31:2]8r@#@& UmDb2Yc?Vn2P2!Z@#@&/4 U+UNnnXkPE8H+ 3H:2]8r@#@&j1DbwYc?^n+aPf!Z@#@&d4R?UNn+Xk~E+XkDJ@#@&ZKwAAA==^#~@
将其保存为vbe文件,一样可以运行哦,与上面的脚本完全一样的功能!
这里有一个问题就是:脚本编码器的开始编码标志似乎没有作用!?
当然加密脚本需要用到Microsoft的一个工具:
文件名称: 脚本编码器sce10chs.exe
文件大小: 119.26KB
文件类型: 应用程序
以上如有什么不对的地方,还请大家指导!