03. april 2007 - 11:12
Der er
1 kommentar og
1 løsning
Hjælp til færdiggørelse af VB applikation
Jeg er ikke programør derfor søger hjælp til færdiggørelse af et VB app
Jeg har lavet et simple VB app (find filer der er ældre end 48 timer (sysdate - 2) i et arkivsystem og slette dem)
Applikation startes pt. manuelt og slettning af filerene sker ved at klikke på en knappe for hver file.
Det jeg ønsker er :
1. at processen gentager sig automatisk sålænge der er filer der er ældre end 48 timer
2. nå applikationen er startet at processen kører en gang i døgnet (kl. 02.00)
3. at oprette en logfile for hver 48 timer (sysdate.log) over de filer der er slettet.
Applikation kan sendes som Zip file (har ikke kunnet vedhæft den), men det vil ikke være muligt at køre den, da file arkivet kører på en internt server
V.h.
Souidr
souidri@yahoo.dk
03. april 2007 - 20:02
#1
kan du bruge en .vbs fil, så skulle denne virke, med hensyn til sletning og loggen.
option explicit
dim sourceFolder
Dim objFSO,cont,logfile
dim wshShell,objLog
sub log(msg)
objLog.writeline(msg)
end sub
sub doDelete(sourceFolder)
dim folder,fileCol,folderCol,fil
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
set folder = objFSO.getFolder(sourceFolder)
set fileCol = folder.Files
For Each fil in filecol
if fil.DateLastModified < now()-2 then '------------------ tjekker sidste modefisering -----------
log "Slettet filen: " & SourceFolder&"\"&fil.name'------------------ skriver i loggen -----------
objFSO.DeleteFile SourceFolder&"\"&fil.name '------------- Advarsel sletter filen --------------
end if
next
set fileCol = nothing
set folderCol = nothing
set folder = nothing
end sub
sourceFolder="C:\test" '---------------------------------- Ret Hvorskal slettes ----------------------
logfile = "C:\log" & date() & ".txt" '----------------------------- Ret hvor loggen er og hvad den hedder -----------
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set WshShell = CreateObject("WScript.Shell")
set objLog = objFSO.CreateTextFile(logfile, True)
WshShell.Popup "Begynder sletning", 2,"VENT", 0
doDelete(sourceFolder)
WshShell.Run("%windir%\notepad.exe " &logfile) '------------------ viser loggen -----------
set objLog = nothing
Set objFSO = nothing
Set WshShell = nothing