【问题标题】:Creating a simple finger application with batch使用批处理创建一个简单的手指应用程序
【发布时间】:2010-07-22 19:42:43
【问题描述】:

我想做一个简单的批处理应用程序来做两件事。

  1. 要求用户输入名称,例如“vega”
  2. 运行“finger vega@mail.example.com”并显示该命令的输出。

以下是第一件事,但我无法从手指输出结果。

 @ECHO OFF

 :begin

 echo Enter the name of the user you are looking for:
 set INPUT=
 set /P INPUT=Name: %=%
 finger -l %INPUT%@mail.example.com

 pause
 GOTO begin

【问题讨论】:

  • 这也是一个无限循环,我在您的要求中没有看到。我不太明白为什么在下一行分配用户输入的值时首先删除变量INPUT%=% 究竟应该做什么?我的意思是,它是变量 = 的内容,但如果它不存在,那么它只会计算为空。如果运行正确,finger 也应该输出它的结果。您声称这适用于您的第一个要求,但如果确实如此,那么它将自动适用于第二个要求。

标签: windows scripting batch-file cmd


【解决方案1】:

可能是这样的。

@echo off
setlocal
set INTERVAL=10

echo Enter the name of the user you are looking for: set /P INPUT= echo INPUT=%INPUT% echo Name: %INPUT%

:LOOP for /F "usebackq tokens=*" %%a IN (`finger -l %INPUT%@mail.example.com`) DO set OUTPUT=%%a echo OUTPUT=%OUTPUT% if "%OUTPUT%"=="something" (goto LOOPEND) call :SLEEP %INTERVAL% goto LOOP :LOOPEND

goto :eof

:: -------------- Sleep function ------------------- :SLEEP set /a SECS=%1 set /a SECS+=1 ping 127.0.0.1 -n %SECS% -w 1000 > nul goto :eof

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多