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

如题!求解!
2024-12-02 17:02:14
推荐回答(4个)
回答1:

可以

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

回答2:

用CRT不就行了。功能强大

回答3:

echo 123|telnet …

回答4:

可以实现啊