2017-10-21 311 views
1

我是这批整批脚本编程的新手,但我真的很喜欢它。我一直在使用批处理脚本,并将恒定的ping结果以及时间戳输出到.txt文件,但希望输出到.xlsx。这是我一直在使用的脚本。将批处理结果输出为excel

@echo off 

title Google Ping 

mode 12,1 

:start 

set DT=%date:/=-% 

timeout /t 30 

echo %time% %date% >> C:\Users\Bradley\Desktop\Logs\google_log%DT%.txt 

ping -n 1 8.8.8.8 >> C:\Users\Bradley\Desktop\Logs\google_log%DT%.txt 

goto start 

任何帮助将不胜感激。

回答

0

我自己做的事情非常相似。我做一个的.txt文件有:

C: 
cd\Users\garys\Documents\My Spreadsheets 
dir /s /b > %userprofile%\Desktop\directry\SpreadsheetFiles.txt 

,然后用得到它到Excel:

Sub GetData() 
    Dim s As String, Textline As String, i As Long 
    Dim RC As Long 

    s = Application.GetOpenFilename() 
    RC = Rows.Count 
    Range("B2:F" & RC).Clear 
    Range("A2:A" & RC).ClearContents 

    Close #1 
    Open s For Input As #1 

    i = 2 
    Do While Not EOF(1) 
     Line Input #1, Textline 
     Cells(i, "C").Value = Textline 
     i = i + 1 
    Loop 
    Close #1 
End Sub 

材料进入C列,在顶部的头留出空间。

1

没有本地的方式来读取和写入纯批处理文件的Excel文件。你可以用Vbscript和Powershell来完成。但我觉得最简单的选择就是写出一个csv文件。通常,CSV文件默认使用Excel打开。

@echo off 
title Google Ping 
echo date,time,ip,bytes,pingtime,ttl>pinglog.csv 

:begin 
FOR /F "tokens=3-6 delims=: " %%G IN ('ping -n 1 8.8.8.8^|find /i "reply from"') DO (
    SET ip=%%G 
    SET %%H 
    SET ping%%I 
    SET %%J 
) 
>>pinglog.csv echo %date%,%time%,%ip%,%bytes%,%pingtime%,%TTL% 
timeout /t 10 >nul 

GOTO begin 
相关问题