Avatar billede xcover Nybegynder
16. februar 2009 - 00:35 Der er 7 kommentarer

Et godt råd

Hejsa,

Jeg har brug for et godt råd - ved ikke om VB er løsningen, men alle bud er velkommen :)

Jeg har brug for et "program" til at overvåge en mappe fx. hvert minut - hvis den finder en fil i mappen skal der afvikles en DOS kommando og derefter skal filen slettes.

Hvordan gør jeg det nemmest ?

Hvis det er problemmatisk at "overvåge" en mappe på den måde - kan dataen også hentes fra en MySQL database, men DOS kommandoen skal stadig afvikles hver gang der kommer en ny fil ind i mappen eller databasen, alt efter hvad der er nemmest.

Håber virkerlig på lidt hjælp her, evt. en helt anden måde end VB at gøre det på ?

Tak
Avatar billede kjulius Novice
16. februar 2009 - 01:27 #1
VB (eller et office-program, som f.eks. Access eller lign., der kan udføre VBA kommandoer kan snildt bruges.

Du kan bruge Dir("C:\dinSti\*.*") til at "indlæse" det ønskede directory/folder/mappe.

Efterfølgende kan du bruge Dir() - altså uden stiangivelse til at loope gennem de enkelte filer i mappen.

Kill kan bruges til at slette filen.

Du kan bruge en timer-funktion på en form til at kalde en subrutine som f.eks.

Sub TjekDir(Sti As String)
    Filename = Dir(Sti & "\*.*")
    Do While Filename <> ""
        Shell "do your dos thing"
        Kill Sti & "\" & Filename
        Filename = Dir()
    Loop
End Sub

I stedet for shell kommandoen (som ikke venter på at dos kommandoen bliver færdig, før den returnerer) kunne det måske være en idé at erstatte denne med

http://www.vb-helper.com/howto_shell_wait.html
Avatar billede arne_v Ekspert
16. februar 2009 - 03:40 #2
Hvis du skifter til VB.NET så har den en FileSystemWatcher klasse:
  http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx
som må passe perfekt til dette.

MySQL lyder ikke oplagt da MySQL mig bekendt ikke integrerer med et message queue system. Med visse andre databaser kan man lave en trigger som smider noget i en message queue, der så processes af et program.
Avatar billede xcover Nybegynder
16. februar 2009 - 12:57 #3
Tak for svarne begge to - jeg glemte lige at spørge, kan det laves i .vbs filer ?

Jeg har nemlig aldrig prøvet anden :)

Det skal bruges på en server som skal køre med "programmet" 24 timer i døgnen og holde øje med filerne. Er dette så en holdbar løsning ?
Avatar billede arne_v Ekspert
17. februar 2009 - 03:23 #4
VB.NET er ikke VBS.

Med VB.NET kunne man nemt lave det som en service der kørte 24x7.
Avatar billede xcover Nybegynder
17. februar 2009 - 17:21 #5
arne_v
Okay - men jeg laver kun ASP, så har du lidt start hjælp til hvordan jeg kommer igang ?

Jeg har adgang til Microsoft Visual Studio 2008.

Men jeg har nok brug for et projekt eksemple før jeg kan komme i gang :) Kan du evt. sætte mig igang ?

Det ville jeg være meget taknemlig for.
Avatar billede xcover Nybegynder
21. februar 2009 - 11:24 #6
I må gerne smid et svar :) Jeg har fået det til at virke.
Avatar billede arne_v Ekspert
21. februar 2009 - 17:33 #7
ok
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
Kategori
Kurser inden for grundlæggende programmering

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