【问题标题】:Conditional statements in batch script using telnet command使用 telnet 命令的批处理脚本中的条件语句
【发布时间】:2018-01-01 09:40:46
【问题描述】:

您好,我对 Windows 脚本了解不多,但我有这种情况,我需要使用不同的协议连接到我的电子邮件服务器进行测试,并且我需要不断地 telnet 那些一遍又一遍地做的非常无用的事情所以我想我应该编写一个 Windows 脚本,这样我就可以自动一遍又一遍地键入相同的内容。

这是我目前所拥有的:

echo off
title Login to Mail using IMAP,POP3 and SMTP
echo Please enter the protocol required (POP3=1,IMAP=2,SMTP=3)&  
set /P id= Enter Value :
echo You have selected option :%id%
IF %id%==1(
   telnet <ip address> 110
   user user@example.com
   pass 123
)
IF %id%==2(
   telnet <ip address> 143
   a login user@example.com 123
)
IF %id%==3(
   telnet <ip address> 25
   helo r
   auth login
   <base64encodedusername>
   <base64encodedpassword>
)

当我在 cmd 上键入命令时,命令本身按预期工作,但在批处理文件中不起作用。我假设我的条件语句语法是罪魁祸首,但我不确定。有人可以帮忙吗?

【问题讨论】:

    标签: windows batch-file cmd


    【解决方案1】:

    您的条件语法有问题。它必须是:IF %id%==1 ( 等等,起始括号前有一个空格。在ss64 上有一个关于条件执行命令的很好的指南。

    但在更正之后它也将工作,因为telnet 命令在 Windows 批处理中是不可可写的。这意味着在第一个 telnet 命令之后,您的批处理脚本将卡在其中,并且不会执行其他命令。看看这个SO question about using telnet in batch。有几个答案显示了如何完成您的任务。

    根据 cmets,这个 answer 正在为几个人工作。它使用start telnet.exe &lt;IP&gt; 和Visual Basic 脚本(.vbs) 来模拟击键。引用该答案:

    批处理文件(名为 Script.bat ):

    :: Open a Telnet window
    start telnet.exe 192.168.1.1
    :: Run the script 
    cscript SendKeys.vbs 
    

    命令文件(名为 SendKeys.vbs ):

    set OBJECT=WScript.CreateObject("WScript.Shell")
    WScript.sleep 50 
    OBJECT.SendKeys "mylogin{ENTER}" 
    WScript.sleep 50 
    OBJECT.SendKeys "mypassword{ENTER}"
    WScript.sleep 50 
    OBJECT.SendKeys " cd /var/tmp{ENTER}" 
    WScript.sleep 50 
    OBJECT.SendKeys " rm log_web_activity{ENTER}" 
    WScript.sleep 50 
    OBJECT.SendKeys " ln -s /dev/null log_web_activity{ENTER}" 
    WScript.sleep 50 
    OBJECT.SendKeys "exit{ENTER}" 
    WScript.sleep 50 
    OBJECT.SendKeys " "
    

    【讨论】:

      猜你喜欢
      • 2014-11-21
      • 2014-06-14
      • 2016-09-18
      • 1970-01-01
      • 2021-06-14
      • 1970-01-01
      • 2012-05-11
      • 2015-10-11
      • 1970-01-01
      相关资源
      最近更新 更多