Изменение времени строк в текстовом файле на определенную величину
Добрый день!
Необходимо решение для изменения времени в строках текстового файла на определенную величину.
Пример файла:
Код:
17.07.2012 00:19:00 ""
17.07.2012 00:52:00 ""
17.07.2012 01:19:00 ""
17.07.2012 01:52:00 ""
17.07.2012 02:19:00 ""
17.07.2012 02:52:00 ""
17.07.2012 03:19:00 ""
17.07.2012 03:52:00 ""
17.07.2012 04:19:00 ""
17.07.2012 04:52:00 ""
и т. д. до 24 часов
Необходимо увеличить время на четыре часа:
Код:
17.07.2012 04:19:00 ""
17.07.2012 04:52:00 ""
17.07.2012 05:19:00 ""
17.07.2012 05:52:00 ""
17.07.2012 06:19:00 ""
17.07.2012 06:52:00 ""
17.07.2012 07:19:00 ""
17.07.2012 07:52:00 ""
17.07.2012 08:19:00 ""
17.07.2012 08:52:00 ""
и т. д.
Форматы файлов неизменны, кодировка неизменна (CP1251).
Заранее спасибо.
|
Пример для обработки одной строки:
Код:
strTemp = "17.07.2012 20:52:00 """""
arrTemp = Split(strTemp, ":00")
strTemp = DateAdd("h", 4, arrTemp(0))
WScript.Echo FormatDateTime(strTemp, 2) & " " & FormatDateTime(strTemp, 4) & ":00" & arrTemp(1)
С файловыми операциями и циклом самостоятельно управитесь?
|
Спасибо большое!
Самостоятельно не управлюсь :-(. Только учусь.
|
Например, так:
Код:
Dim objFS, objFile, arrData, arrTemp, strTemp
strPath = "D:\Temp\log.txt"
Set objFS = CreateObject("Scripting.FileSystemObject")
If objFS.FileExists(strPath) Then
Set objFile = objFS.OpenTextFile(strPath, 1)
arrData = Split(objFile.ReadAll, vbNewLine)
objFile.Close
For i = 0 To UBound(arrData)
If Len(arrData(i)) > 0 Then
If InStr(arrData(i), ":00") > 0 Then
arrTemp = Split(arrData(i), ":00")
strTemp = DateAdd("h", 4, arrTemp(0))
arrData(i) = FormatDateTime(strTemp, 2) & " " & FormatDateTime(strTemp, 4) & ":00" & arrTemp(1)
End If
End If
Next
Set objFile = objFS.OpenTextFile(strPath, 2, True)
For i = 0 To UBound(arrData)
objFile.WriteLine arrData(i)
Next
Erase arrData
objFile.Close
Set objFile = Nothing
WScript.Echo "Готово."
Else
WScript.Echo "Не найден путь " & strPath
End If
Set objFS = Nothing
WScript.Quit 0
|
Спасибо большое!
Работает!!!! Буду разбирать построчно и "мотать на ус".
|
Было бы неплохо увидеть это в комманд-шелле
|
Цитата:
Цитата NoIZz
Было бы неплохо увидеть это в комманд-шелле »
|
Зачем?
|
Время: 19:56.
© OSzone.net 2001-