Как проверить размер файла в HTA VBScript? - PullRequest
0 голосов
/ 29 января 2019

Мне нужно проверить размер файла перед чтением файла.

Я пробовал несколько маршрутов с кодами, которые я нашел, кажется, мне нужно посмотреть .Size, но я не могу показатьсязаставить его работать любым способом.

Это рабочий код (если файл содержит его содержимое):

<script for="battery_parse_1" language="VBScript">
Set objFileToRead = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\core\outputs\vr1_output.log",1)

strBatteryParse1 = objFileToRead.ReadAll()
objFileToRead.Close
Set objFileToRead = Nothing

If InStr(strBatteryParse1, "EstimatedChargeRemaining") Then
    strBatteryParse1Output = Right(strBatteryParse1, 2)
    If strBatteryParse1Output < 10 Then
        strBatteryParse1Output = Right(strBatteryParse1Output, 1)
        1batteryresult.ClassName = "badge bg-red"
        1batteryresult.InnerHTML = "<i class='fa fa-battery-empty'></i> " + strBatteryParse1Output + "%"
    ElseIf strBatteryParse1Output < 25 Then
        1batteryresult.ClassName = "badge bg-red"
        1batteryresult.InnerHTML = "<i class='fa fa-battery-1'></i> " + strBatteryParse1Output + "%"
    ElseIf strBatteryParse1Output < 50 Then
        1batteryresult.ClassName = "badge bg-yellow"
        1batteryresult.InnerHTML = "<i class='fa fa-battery-2'></i> " + strBatteryParse1Output + "%"
    ElseIf strBatteryParse1Output < 75 Then
        1batteryresult.ClassName = "badge bg-yellow"
        1batteryresult.InnerHTML = "<i class='fa fa-battery-3'></i> " + strBatteryParse1Output + "%"
    Else
        1batteryresult.ClassName = "badge bg-green"
        1batteryresult.InnerHTML = "<i class='fa fa-battery-4'></i> " + strBatteryParse1Output + "%"
    End If
    strBatteryParse1Output = strBatteryParse1Output + "% Remaining"
    1batteryresult.Title = strBatteryParse1Output
Else
    strBatteryParse1Output = "No data yet..."
    1batteryresult.Title = strBatteryParse1Output
End If
Set objExec = Nothing
<script>

Когда удаленный компьютер находится в автономном режиме, процент заряда батареи не записывается в файл, и он будетпусто, что делает строку не верной.Кажется, что любой код, который я вставил, чтобы проверить, равен ли размер файла 0 КБ, не работает в HTA.

Я экспериментировал с:

Set objFile = goFS.GetFile(examplefile)
If objFile.Size > 0 Then

, но безуспешно.

Редактировать: Решение в комментариях Ансгар Wiechers.Hta требует использовать

Set objFile = CreateObject("Scripting.FileSystemObject").GetFile

вместо

Set objFile = goFS.GetFile(examplefile)
...