Avatar billede souidr Novice
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
Avatar billede kabbak Professor
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
Avatar billede souidr Novice
04. april 2007 - 14:30 #2
Hej Kabak

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
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester