Technik_spat
23-05-2022, 09:41
Форумчане, здравствуйте!
Подскажите, пожалуйста, что делаю не так.
Сама задача: при появлении нового файла (в данном случае TOVAR.txt, по сути это обычный txt со структурой csv), необходимо запустить обработку, которая заменит часть значений в файле.
Пытаюсь состряпать хоть что то, но вообще никуда не идёт, он просто висит в задачах, но не исполняется.
Сам скрипт и файл, который появляется при загрузке.
166667
Option Explicit: Dim FDir, File, FSO, SINK
FDir = Left(WSH.ScriptFullName, InStrRev(WSH.ScriptFullName, "\"))
File = FDir & "\\server_kass\Obmen\Spr\temp_not_delete\TOVAR.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceCreationEvent" &_
" WITHIN 1 WHERE Targetinstance ISA 'CIM_DataFile' And" &_
" TargetInstance.Name='" & Replace(File, "\", "\\") & "'"
Do: WSH.Sleep 8^10 :Loop
Sub SINK_OnObjectReady(o,x)
Dim ff, pp, ss, aa
Set ff = FSO.CreateTextFile("\\server_kass\Obmen\Spr\temp_not_delete\TOVAR_2.txt", 1)
Set pp = FSO.OpenTextFile(FDir & "TOVAR.txt")
Do: ss = pp.ReadLine
If Left(ss, 3) = "" Then
aa = Split(ss, ";")
If aa(59) = "2" Then
aa(8) = aa(8) & " | КОНТРОЛЬ"
aa(9) = Right("0" & Year(Date), 2) & "" &_
Right("0" & Month(Date), 2) & "" & Day(Year(Date), 3)
End If
End If
ff.WriteLine ss
Loop Until pp.AtEndOfStream: ff.Close: pp.Close
FSO.DeleteFile File, 1
End Sub
Подскажите, пожалуйста, что делаю не так.
Сама задача: при появлении нового файла (в данном случае TOVAR.txt, по сути это обычный txt со структурой csv), необходимо запустить обработку, которая заменит часть значений в файле.
Пытаюсь состряпать хоть что то, но вообще никуда не идёт, он просто висит в задачах, но не исполняется.
Сам скрипт и файл, который появляется при загрузке.
166667
Option Explicit: Dim FDir, File, FSO, SINK
FDir = Left(WSH.ScriptFullName, InStrRev(WSH.ScriptFullName, "\"))
File = FDir & "\\server_kass\Obmen\Spr\temp_not_delete\TOVAR.txt"
Set FSO = CreateObject("Scripting.FileSystemObject")
Set SINK = WSH.CreateObject("WbemScripting.SWbemSink", "SINK_")
GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")._
ExecNotificationQueryAsync SINK, "SELECT * FROM __InstanceCreationEvent" &_
" WITHIN 1 WHERE Targetinstance ISA 'CIM_DataFile' And" &_
" TargetInstance.Name='" & Replace(File, "\", "\\") & "'"
Do: WSH.Sleep 8^10 :Loop
Sub SINK_OnObjectReady(o,x)
Dim ff, pp, ss, aa
Set ff = FSO.CreateTextFile("\\server_kass\Obmen\Spr\temp_not_delete\TOVAR_2.txt", 1)
Set pp = FSO.OpenTextFile(FDir & "TOVAR.txt")
Do: ss = pp.ReadLine
If Left(ss, 3) = "" Then
aa = Split(ss, ";")
If aa(59) = "2" Then
aa(8) = aa(8) & " | КОНТРОЛЬ"
aa(9) = Right("0" & Year(Date), 2) & "" &_
Right("0" & Month(Date), 2) & "" & Day(Year(Date), 3)
End If
End If
ff.WriteLine ss
Loop Until pp.AtEndOfStream: ff.Close: pp.Close
FSO.DeleteFile File, 1
End Sub