File Handling & Log VBS
Posted On 2. Januar 2011
'#############################################################################
'# File: all3.vbs Version: 1.1
'# Autor: Buanet Productions
'# Date: 04.12.2007
'# Description:
'#
'# History:
'#############################################################################
' ## ERROR HANDLING ##
On Error Resume Next
'## Constant for Eventlog/Filesystem Objects ##
Const EVENTLOG_SUCCESS = 0
Const EVENTLOG_ERROR_TYPE = 1
Const EVENTLOG_WARNING_TYPE = 2
Const EVENTLOG_INFORMATION_TYPE = 4
Const OverWriteFiles = TRUE
Const DeleteReadOnly = TRUE
Const ForAppending = 8
'## Path Constant ##
Const Source = "D:\_KANADA_PROJ"
Const Destination = "\\SRV02\vb$\"
Const txtlog = "C:\all3.log"
Const loopTime = 60000 ' 1000 = 1 sec | 60000 = 1 min | 360000 = 1 hour
'## Creating Objects ##
Set objShell = Wscript.CreateObject("Wscript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Set objFile = objFSO.CreateTextFile(txtlog)
Set objlog = objFSO.OpenTextFile(txtlog, ForAppending, True)
Do
'## Startup Eventlog ##
objShell.LogEvent EVENTLOG_INFORMATION_TYPE, _
"Starting Script --> " & Time
objlog.writeline "[" & date & "-" & time & "] Starting Script..."
' ## Check if Destination available ##
If Not objFSO.FolderExists(Destination) Then
objShell.LogEvent EVENTLOG_ERROR_TYPE, _
"Destination " & Destination & " is not available."
objloge.writeline "[" & date & "-" & time & "] ERROR: Destination " & Destination & " is not available."
Else
'## check if folders or file exist and copy or move ##
'If objFSO.FileExists(Source) Then
If objFSO.FolderExists(Source) Then
'Set objFolder = objFSO.GetFile(Source)
'objFSO.CopyFile Source , Destination , OverWriteFiles
objFSO.CopyFolder Source , Destination , OverWriteFiles
' objFSO.MoveFolder(Source , Destination)
objShell.LogEvent EVENTLOG_SUCCESS, _
"File successfully copied. " & Source & " --> " & Destination
objlog.writeline "[" & date & "-" & time & "] File successfully copied. " & Source & " --> " & Destination
Else
'Wscript.Echo "File does not exist."
objShell.LogEvent EVENTLOG_ERROR_TYPE, _
"File does not exist...!"
End If
'## 3 Options to delete source after ##
' ** OPtion = Delete one file **
'objFSO.DeleteFile(Source)
'objShell.LogEvent EVENTLOG_SUCCESS_TYPE, _
' "Delete file successfully -->" & Source
' ** Option = Delete all files in a folder **
'objFSO.DeleteFile(Source), DeleteReadOnly
'objShell.LogEvent EVENTLOG_SUCCESS_TYPE, _
'"Delete files " & Source & " successfully !"
'** Option = Delete a folder **
'objFSO.DeleteFolder(Source)
'objShell.LogEvent EVENTLOG_SUCCESS_TYPE, _
'"Delete folder " & Source & " successfully !"
' ## ERROR HANDLING WITH EVENTS ##
'If Err.Number <> 0 Then
'Err.Raise 6
If Err <> 0 Then
objShell.LogEvent EVENTLOG_ERROR_TYPE, _
"Error: " & Err.Number & " - Zeile: " & Err.Line & ", Zeichen: " & Err.Character & vbCrLf & "Beschreibung: " & Err.Description
objlog.writeline "[" & date & "-" & time & "] ERROR - Desc: " & Err.Description & " Source: " & Err.Source
objlog.writeline "[" & date & "-" & time & "] Error: " & Err.Number & " - Zeile: " & Err.Line & ", Zeichen: " & Err.Character & vbCrLf & "Beschreibung: " & Err.Description
Err.Clear
End If
End If
'## Script end Eventlog ##
objShell.LogEvent EVENTLOG_INFORMATION_TYPE, _
"Script end now --> " & Time
objlog.writeline "[" & date & "-" & time & "] Script end now..!"
objlog.writeline "[" & date & "-" & time & "] -------------------------------------------------------------------------------------."
wscript.sleep loopTime
loop
'## EOF ##