03. april 2007 - 11:12Der 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
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
Har du lyst til at se hele filen for at danne dig en idé om hvad det går ud på
V.h. Souidr souidri@yahoo.dk
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.