bat批处理能不能实现telnet交换机后自动键入密码然后回车

如题!求解!

可以

ECHO Off &CLS & mode con lines=29 cols=50 & title 批量备份路由器配置 Code By M13632750052 & color 0a
if not exist serverip.ini echo 没有找到 serverip.ini 格式如下:&echo 设备用途 路由器IP 用户名 密码&@pause>nul
for /f "skip=1 tokens=1,2,3,4* delims= " %%i in (serverip.ini) do call :begin %%i %%j & call :teldicu %%i %%j %%k %%l

exit

:teldicu
taskkill /im telnet.exe /f>nul 2>nul
attrib -r -a -s -h %1.vbs >nul 2>nul
del /f /q %1.vbs >nul 2>nul
echo set sh=WScript.CreateObject("WScript.Shell") >%1.vbs
attrib +a +s +h %1.vbs >nul 2>nul
echo WScript.Sleep 300 >>%1.vbs
echo sh.SendKeys "open %2" >>%1.vbs
echo WScript.Sleep 1000 >>%1.vbs
echo sh.SendKeys "{ENTER}" >>%1.vbs
echo WScript.Sleep 3000 >>%1.vbs
echo sh.SendKeys "%3{ENTER}">>%1.vbs
echo WScript.Sleep 300 >>%1.vbs
echo sh.SendKeys "%4{ENTER}">>%1.vbs
echo WScript.Sleep 300 >>%1.vbs
echo sh.SendKeys "di cu{ENTER}">>%1.vbs
echo WScript.Sleep 1000 >>%1.vbs
echo sh.SendKeys "{ENTER 100} quit {ENTER} ">>%1.vbs
echo WScript.Sleep 3000 >>%1.vbs
echo sh.SendKeys "{ENTER} ">>%1.vbs
echo WScript.Sleep 1000 >>%1.vbs
echo sh.SendKeys "quit{ENTER} ">>%1.vbs
start "" telnet -f %1.txt
ping -n 2 127.0.0.1>nul
cscript //nologo %1.vbs
echo #使用 批量备份路由器配置.exe 备份程序 备份>>%1.txt
attrib -r -a -s -h %1.vbs >nul 2>nul
del /f /q %1.vbs >nul 2>nul
exit /b

:begin
cls&@echo.&@echo.
echo     *****************************************
echo     **  BY: M13632750052                   **
echo     **            批量备份路由器配置       **
echo     **                                     **
echo     *****************************************
@echo.&echo.正在连接……&echo.&echo. %1 %2 &echo.
goto :eof

追问

大哥, 我说的是交换机不是路由器,哪来的需要输用户名啊,再说每个命令没有注释我怎么看的懂啊。

追答

这个是给你参考。它实现了批量操作:获取IP,输入用户名和密码,并把配置保存出来,然后退出。

实现telnet交换机后自动键入密码然后回车,用户名那段不要的话可以输入任何字符
serverip.ini 格式如下:设备用途 路由器IP 用户名 密码

这行是输入用户名的,去掉就行
echo sh.SendKeys "%3{ENTER}">>%1.vbs

下面这段可以尝试不要。或者输入你自己要的交换机命令
其中:SendKeys 是发送字符给 界面,{ENTER} 是确认

echo sh.SendKeys "di cu{ENTER}">>%1.vbs
echo WScript.Sleep 1000 >>%1.vbs
echo sh.SendKeys "{ENTER 100} quit {ENTER} ">>%1.vbs
echo WScript.Sleep 3000 >>%1.vbs
echo sh.SendKeys "{ENTER} ">>%1.vbs
echo WScript.Sleep 1000 >>%1.vbs
echo sh.SendKeys "quit{ENTER} ">>%1.vbs

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-22
用CRT不就行了。功能强大
第2个回答  2014-01-23
echo 123|telnet …追问

好像不行吗

第3个回答  2014-01-22
可以实现啊追问

那比如我要我telnet后键入密码是什么命令呢?

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网