我是这个整批脚本的新手,但我真的很喜欢它。我一直在使用批处理脚本并输出常量ping结果以及.txt文件的时间戳,但希望输出到.xlsx。这是我一直在使用的脚本。
@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 :(得分: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
答案 1 :(得分: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 列,在顶部留出空间作为标题。