Доброго дня. Начал учить VBScript. Опытные люди посоветовали поставить перед собой определенную задачу и искать методы решения.
Идея в голове возникла такая:
Есть скрипт, которые хватает файлы с одного сервака, кладет их на другой, а тот с помощью SFTP осуществляет раздачу для пользователей. Разбив на этапы эту задачу потихоньку пишется код, не сказать, что ударными тэмпами, но все же. В поисках примеров применения FSO, наткнулся на вот такой пример:
Option Explicit
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim MySource, MyTarget, MyZipName, MyHex, MyBinary, i
Dim oShell, oApp, oFolder, oCTF, oFile,DT,dateVal
Dim oFileSys
DT = Now
DateVal = Right("0" & Day(DT), 2) & "." & _
Right("0" & Month(DT), 2) & "." & _
Year(DT) & "_" & _
Right("0" & Hour(DT), 2) & "." & _
Right("0" & Minute(DT), 2) & "." & _
Right("0" & Second(DT), 2)
MySource = "E:\files"
MyTarget = "E:\logs\" & dateVal & "_Logs.zip"
MyHex = Array(80, 75, 5, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
For i = 0 To UBound(MyHex)
MyBinary = MyBinary & Chr(MyHex(i))
Next
Set oShell = CreateObject("WScript.Shell")
Set oFileSys = CreateObject("Scripting.FileSystemObject")
Set oCTF = oFileSys.CreateTextFile(MyTarget, True)
oCTF.Write MyBinary
oCTF.Close
Set oCTF = Nothing
Set oApp = CreateObject("Shell.Application")
Set oFolder = oApp.NameSpace(MySource)
If Not oFolder Is Nothing Then
oApp.NameSpace(MyTarget).CopyHere oFolder.Items
End If
wScript.Sleep(5000)
Set oFile = Nothing
On Error Resume Next
Do While (oFile Is Nothing)
Set oFile = oFileSys.OpenTextFile(MyTarget, ForAppending, False)
If Err.number <> 0 then
Err.Clear
wScript.Sleep 3000
End If
Loop
Set oFile=Nothing
Set oFileSys=Nothing
Часть с добавлением даты\времени в имени файла, эт я уже добавил.
В виду пока еще недостатка знаний, не могу прочитать логику кода.
Стало интересно, как человек реализовал как раз такую же задачу. Вижу и массив, и что он к внешнему софту обращается, но вот по какой логике выполняется сценарий понять не могу.
Сорян братцы, если возможно примитивный вопрос. Гуглеж помогает понять обрывки кода, но не ход сценария.