【问题标题】:batch file ping output to text file批处理文件 ping 输出到文本文件
【发布时间】:2015-02-01 13:31:42
【问题描述】:
@echo off

ping www.google.com > pinglog.txt

pause

我有这个命令,但我的问题是当你添加“>”或“>>”时,命令提示符不会显示后台发生的事情。有没有办法在执行 ping 后复制所有内容?

我也知道这段代码:

@echo off

ping www.google.com > pinglog.txt
type pinglog.txt

pause

但是,屏幕仍然是空白的,好像什么都没发生一样。希望有人能帮忙

【问题讨论】:

  • 我不确定您要做什么,但请尝试删除/评论 @echo off 行。
  • 查找适用于 Windows 的 tee 及其用法here
  • 第二个脚本应该可以在 ping 完成后输出。批处理不支持在程序运行时输出到文件和控制台。
  • 它工作得很好,但问题是,我看不到 ping 发生的情况。这就是我想要实现的。 ping 结果后,我可以看到 ping 进度,将所有内容保存在文本文件中。

标签: file batch-file output ping


【解决方案1】:

管道到 Tee 命令。

ping www.google.com | cscript //nologo tee.vbs - t pinglog.txt

来自 filter.bat/vbs。

Set Arg = WScript.Arguments
set WshShell = createObject("Wscript.Shell")
Set Inp = WScript.Stdin
Set Outp = Wscript.Stdout
If LCase(Arg(0)) = "tee" or LCase(Arg(0)) = "t" then Tee

Sub Tee
    On Error Resume Next
    Set Fso = CreateObject("Scripting.FileSystemObject")
    Set File = Fso.CreateTextFile(Arg(1), True)
    If err.number <> 0 then
        Outp.WriteLine "Error: " & err.number & " " & err.description & " from " & err.source
        err.clear
        wscript.exit
    End If
    Do Until Inp.AtEndOfStream
        Line=Inp.readline
        outp.writeline Line
        File.WriteLine Line
    Loop
End Sub

三通

filter tee <Filename>
filter t <Filename>

将标准输入写入文件和标准输出

示例

filter tee "%userprofile%\Desktop\winini.txt" < "%windir%\win.ini"

【讨论】:

  • 不能只放在一个bat文件上吗?
  • wmic /append:c:\ping.txt PATH Win32_PingStatus where "address='127.0.0.1'" get responsetime,statuscode 输入 wmic path Win32_PingStatus get /? 寻求帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-27
  • 2011-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多