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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 "%3ENTER">>%1.vbs
echo WScript.Sleep 300 >>%1.vbs
echo sh.SendKeys "%4ENTER">>%1.vbs
echo WScript.Sleep 300 >>%1.vbs
echo sh.SendKeys "di cuENTER">>%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 "quitENTER ">>%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 "%3ENTER">>%1.vbs

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

echo sh.SendKeys "di cuENTER">>%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 "quitENTER ">>%1.vbs

参考技术A 用CRT不就行了。功能强大 参考技术B echo 123|telnet …追问

好像不行吗

参考技术C 可以实现啊追问

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

以上是关于bat批处理能不能实现telnet交换机后自动键入密码然后回车的主要内容,如果未能解决你的问题,请参考以下文章

批处理文件*.BAT如何实现延时运行?

华三模拟器能ping通为啥不能telnet交换机

如何用ensp配置telnet设置用户名密码

pythontelnet批量连接脚本怎么能多个不同网段连接

如何让windows开机自动运行一个bat文件,并且当用户登录后还能看到这个bat文件的控制台窗口?

在BAT文件怎么写一个执行运行的命令?