Мне нужно проверить размер файла перед чтением файла.
Я пробовал несколько маршрутов с кодами, которые я нашел, кажется, мне нужно посмотреть .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)