Board logo

标题: 如何用.bat实现自动telnet [打印本页]

作者: wooqooo     时间: 2007-9-13 15:59    标题: 如何用.bat实现自动telnet

我想做一个bat,运行一下可以telnet到远程设备,请问高手有办法吗?
作者: zhanghong1     时间: 2007-9-13 16:52
我收藏的原咱论坛一个大哥大写的代码:

@echo ftp.exe -s:C:\jh520.mmp

在C根下建jh520.mmp 并且写入以下代码 有些东西自己改下!
CODE:
--------------------------------------------------------------------------------

open  FTPSEVER
USER               
PASSWORD
#bin
cd ftp数据备份
lcd F:\share\OA
put "%date%"oa
bye
作者: wooqooo     时间: 2007-9-14 15:48
谢谢楼上的兄弟
但是telnet好象没有类似的命令
作者: HAT     时间: 2007-9-16 12:53
需要结合VBS
@echo off
rem 假设主机地址是ABC
rem 假设用户名是DEF
rem 假设密码是GHI
echo Set WshShell = CreateObject("WScript.Shell")>%tmp%\TelDelphi1.vbs
echo WshShell.Run "telnet ABC">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(5000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "DEF{enter}">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(1000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "GHI{enter}">>%tmp%\TelDelphi1.vbs
start cscript /nologo %tmp%\TelDelphi1.vbs
ping -n 10 127.1>nul
del /q %tmp%\TelDelphi1.vbs

作者: knoppix7     时间: 2007-9-16 13:16
貌似可以用NC
作者: HAT     时间: 2007-9-16 13:20
如果我们用NC来登陆公司的服务器,会不会被老大炒鱿鱼呢?
^_^
作者: xycoordinate     时间: 2009-7-7 03:03


  Quote:
@echo off
rem 假设主机地址是ABC
rem 假设用户名是DEF
rem 假设密码是GHI
echo Set WshShell = CreateObject("WScript.Shell")>%tmp%\TelDelphi1.vbs
echo WshShell.Run "telnet ABC">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(5000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "DEF{enter}">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(1000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "GHI{enter}">>%tmp%\TelDelphi1.vbs
start cscript /nologo %tmp%\TelDelphi1.vbs
ping -n 10 127.1>nul
del /q %tmp%\TelDelphi1.vbs

ping -n 10 127.1>nul有何用场???

还有:
1台机器,试验成功。

如果有几台机器,并且希望通过“批处理程序”telnet修改密码
无需人工干预,自动进行
怎么办?

自己试着写了一个,好像不行???
:(
ip.txt
192.168.53.2
192.168.54.2

bat

@echo off&setlocal enabledelayedexpansion
for /f %%a in (ip.txt) do (
set ip=%%a
goto :VBS
)

:VBS
echo Set WshShell = CreateObject("WScript.Shell")>%tmp%\TelDelphi1.vbs
echo WshShell.Run "telnet !ip!">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(5000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "DEF{enter}">>%tmp%\TelDelphi1.vbs
echo WScript.Sleep(1000)>>%tmp%\TelDelphi1.vbs
echo WshShell.SendKeys "GHI{enter}">>%tmp%\TelDelphi1.vbs
start cscript /nologo %tmp%\TelDelphi1.vbs
ping -n 10 127.1>nul
del /q %tmp%\TelDelphi1.vbs

好像不能设置第2台机器
???

[ Last edited by xycoordinate on 2009-7-7 at 03:41 ]
作者: xycoordinate     时间: 2009-7-8 22:42
顶起来……
作者: xycoordinate     时间: 2009-7-10 05:42
http://www.cn-dos.net/forum/view ... id=TnpprF#pid337287
作者: uiopuiop     时间: 2009-8-1 13:58
用PLINK.exe 比较稳定,支持telnet , SSH

PuTTY Link: command-line connection utility
Release 0.60
Usage: plink [options] [user@]host [command]
       ("host" can also be a PuTTY saved session name)
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol
  -P port   connect to specified port
  -l user   connect with specified username
  -batch    disable all interactive prompts
The following options only apply to SSH connections:
  -pw passw login with specified password
  -D [listen-IP:]listen-port
            Dynamic SOCKS-based port forwarding
  -L [listen-IP:]listen-port:host:port
            Forward local port to remote address
  -R [listen-IP:]listen-port:host:port
            Forward remote port to local address
  -X -x     enable / disable X11 forwarding
  -A -a     enable / disable agent forwarding
  -t -T     enable / disable pty allocation
  -1 -2     force use of particular protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for authentication
  -noagent  disable use of Pageant
  -agent    enable use of Pageant
  -m file   read remote command(s) from file
  -s        remote command is an SSH subsystem (SSH-2 only)
  -N        don't start a shell/command (SSH-2 only)
  -nc host:port
            open tunnel in place of session (SSH-2 only)