none
求將 result 寫入 file ~ RRS feed

  • 問題

  • Set shell = WScript.CreateObject("WScript.Shell")
    Set re=New RegExp
    re.Pattern = "^Reply|^Request"
    Set myping=shell.Exec("ping www.yahoo.com -t")
    while Not myping.StdOut.AtEndOfStream
    strLine = myping.StdOut.ReadLine()
    r=re.Test(strLine)
    If r Then
    WScript.Echo date & " "& time & chr(9) & strLine
    End if
    Wend

    -----------------Output result --------------------
    C:\>cscript tping-dns2.vbs
    Microsoft (R) Windows Script Host Version 5.6
    Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

    1/6/2010 3:25:29 PM     Reply from 209.131.36.158: bytes=32 time=164ms TTL=52
    1/6/2010 3:25:30 PM     Reply from 209.131.36.158: bytes=32 time=180ms TTL=52
    1/6/2010 3:25:31 PM     Reply from 209.131.36.158: bytes=32 time=177ms TTL=52
    1/6/2010 3:25:32 PM     Reply from 209.131.36.158: bytes=32 time=160ms TTL=52
    1/6/2010 3:25:33 PM     Reply from 209.131.36.158: bytes=32 time=162ms TTL=52
    .
    .
    .
    .
    .
    --------------------------------------------------------------------------------------
    這是一個我從其他網站找回來的 script, 功能是長 ping 一個 ip, 在 result 前再加日期和時間, 但我想將這個 result 寫入一個 file(例如C:\Documents and Settings\Users\ping-result.log),好等我可以 tracert 到 down time 的時間, 各位可以幫幫助嗎 ? 唔該!!

    • 已編輯 wuli 2010年1月6日 上午 07:25
    2010年1月6日 上午 05:35

解答

  • hi
     嘗試看看
    Dim system, file, finalpath
    Set system = CreateObject("Scripting.FileSystemObject")
    finalpath= "C:\myresult.txt"
       ' Open mode constants...
       Dim ForReading, ForWriting, ForAppending
       ForReading   = 1 ' Open a file for reading only. You can't write to this file.
       ForWriting   = 2 ' Open a file for writing.
       ForAppending = 8 ' Open a file and write to the end of the file.
     Set file = system.OpenTextFile(finalpath, 8, true)
           file.WriteLine(result)
           file.Close


    http://www.dotblogs.com.tw/ricochen/Default.aspx
    • 已提議為解答 阿尼 2010年1月6日 上午 06:20
    • 已標示為解答 Lolota Lee 2010年1月13日 上午 05:38
    2010年1月6日 上午 06:16

所有回覆

  • System.IO.File.AppendAllText("C:\Documents and Settings\Users\ping-result.log",result)
    抱歉沒仔細看是VB6的問題 =.=,以上是.Net
    2010年1月6日 上午 05:59
  • hi
     嘗試看看
    Dim system, file, finalpath
    Set system = CreateObject("Scripting.FileSystemObject")
    finalpath= "C:\myresult.txt"
       ' Open mode constants...
       Dim ForReading, ForWriting, ForAppending
       ForReading   = 1 ' Open a file for reading only. You can't write to this file.
       ForWriting   = 2 ' Open a file for writing.
       ForAppending = 8 ' Open a file and write to the end of the file.
     Set file = system.OpenTextFile(finalpath, 8, true)
           file.WriteLine(result)
           file.Close


    http://www.dotblogs.com.tw/ricochen/Default.aspx
    • 已提議為解答 阿尼 2010年1月6日 上午 06:20
    • 已標示為解答 Lolota Lee 2010年1月13日 上午 05:38
    2010年1月6日 上午 06:16
  • Set myping=shell.Exec("ping www.yahoo.com -t")
    DOS 程式直接用輸出轉向即可。
    Set myping=shell.Exec("ping www.yahoo.com -t >" & yourfilename)

    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年1月6日 上午 06:55
  • DOS 程式直接用輸出轉向即可。
    Set myping=shell.Exec("ping www.yahoo.com -t >" & yourfilename)

    唔得喎~ 可唔可以講 detail d 呀 ?
    2010年1月6日 上午 07:32
  • 到命令提示字元下打:
    ping www.yahoo.com -t > ping-result.log

    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年1月6日 上午 08:34
  • 到命令提示字元下打:
    ping www.yahoo.com -t > ping-result.log

    我知, 但係我要 show 翻個時間同日期喎 ~
    2010年1月7日 上午 01:54
  • 看不懂港澳語,這裡是繁中討論區,請自行翻譯成繁中,不然就到港澳地區論壇發文。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年1月7日 上午 02:13