【问题标题】:Print Batch results to a text file?将批处理结果打印到文本文件?
【发布时间】:2013-03-20 13:07:48
【问题描述】:

我创建了一个批处理文件来查找我的外部 ip。

而且效果很好。

这是代码。

    @echo off
>"%temp%\ip.vbs" echo Set objHTTP = CreateObject("MSXML2.XMLHTTP")
>>"%temp%\ip.vbs" echo Call objHTTP.Open("GET", "http://checkip.dyndns.org", False)
>>"%temp%\ip.vbs" echo objHTTP.Send()
>>"%temp%\ip.vbs" echo strHTML = objHTTP.ResponseText
>>"%temp%\ip.vbs" echo wscript.echo strHTML
for /f "tokens=7 delims=:<" %%a in ('cscript /nologo "%temp%\ip.vbs"') do set ip=%%a
echo %ip:~1% 
pause

我想要的是将结果打印到名为“IPlog.txt”的文本文件中

每次我运行 bat 文件时,它都必须做同样的事情,并将新结果打印到文本文件的下一行。所以请任何人都可以帮我解决这个问题。

【问题讨论】:

    标签: file batch-file text printing


    【解决方案1】:

    ...或改变你的

    echo %ip:~1% 
    

    echo %ip:~1% >>IPlog.txt
    

    在没有额外的“>>IPlog.txt”的情况下运行你的批处理

    【讨论】:

    • 现在你能告诉我是否可以在再次打印之前检查 IPlog.txt 中是否存在该 IP!如果它存在,它将在控制台中打印一些消息,例如 IP 存在。
    • 因此您需要以下命令之一:“find”或“findstr”查看帮助(find /? 或 findstr /?)以找出哪个命令更适合您的需求
    【解决方案2】:

    请从您的代码中删除pause 命令并像这样运行batch-file

    mybatch.bat >> IPlog.txt
    

    这将在您每次运行此批处理文件时将生成的 IP 地址附加到日志文件 IPLog.txt

    【讨论】:

      猜你喜欢
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      相关资源
      最近更新 更多