Avatar billede websam Nybegynder
31. januar 2005 - 11:06 Der er 5 kommentarer og
2 løsninger

Er det muligt ?

Hejsa,

Jeg sidder og skal have lavet en function der en gang i sekundet kan se om der ligger en fil i en mappe. Hvis der er en fil i mappen (som altid er en .bat fil) skal denne køres. Det skal så også være sådan at functionen tager filerne i den rækkefølge de bliver lagt der i tilfælde af at der f.eks skulle ligge 3.

Jeg ved ikke om det er muligt, men hvis der er nogen der har erfaring med dette må i meget gerne give jeres besyv med.

Jeg forestiller mig at det skal være en .exe fil, håber der er nogen der kan hjælpe ?

/Websam
Avatar billede joern Nybegynder
31. januar 2005 - 11:43 #1
Hej.

Det er sikkert muligt, men det lyder usundt!  Det vil belaste den pågældende maskine, så den faktisk ikke kan lave andet.  Jeg foreslår. at du tænker om igen.

M.v.h. Jørn
Avatar billede lorentsnv Nybegynder
31. januar 2005 - 12:21 #2
Det kan godt lade sig gøre, men som joern skrive, er det måske ikke så sundt at køre hvert sekund. Måske skulle du overveje at med mindre hyppge intervaller, med mindre du har en pc/server der er dedikeret til dette formål.

I visual basic vil du med fso-objektet kunne checke for filer, og også sortere på tidspunkt. Det skulle også være mulig at starte en batch-fil, uden at jeg lige kan huske hvordan.

Enten kan du chedulere dit program i Winows Sheduler, eller kan du have et timer-objekt i vb-programmet, der checker med jævne mellemrum. Jeg tror det sidste vil være mest effektivt, da du ikke skal initalisere dine objekter hver gang du skal polle efter nye filer. Men så skal det være et program der er åbnet hele tiden.
Avatar billede sjh Nybegynder
31. januar 2005 - 15:13 #3
websam > hvad vil du dog bruge det til??

Du kan jo ikke bare nøjes med at ligge en eller to bat-file som den skal køre.. så vil programmet jo køre dem 60 gange i minuttet??
Avatar billede sjh Nybegynder
31. januar 2005 - 16:06 #4
websam > Nu har jeg lavet lidt til dig som du kan lege med.. men som du nok vil bemærke bliver bat-file kørt 60 gange i minuttet.

Det med at overbelaste computeren skulle ikke være noget problem, da den læser fra harddiskens cache.. Jeg kan ikke sige hvad dine bat-filer bruger men du kan jo prøve.


'------------------------------- Form1 -------------------------------
' Husk en Timer1.
'---------------------------------------------------------------------
Option Explicit

Private Sub Form_Load()
  Timer1.Interval = 1000 ' 1000 er 1 sekunt.
End Sub

Private Sub Timer1_Timer()
Dim strExec As String
Dim strPath As String
Dim strName As String

  strPath = "C:\" ' HUSK backslash til sidst hvis det er en mappe fx. C:\Test\
  strName = Dir(strPath & "*.bat", vbNormal Or _
                                  vbReadOnly Or _
                                  vbHidden Or _
                                  vbSystem)
  Do While strName <> ""
    strExec = strPath & strName
    Call Shell(strExec, vbHide) ' Kør bat-file.
    strName = Dir
  Loop

End Sub
'------------------------------- Form1 -------------------------------
Avatar billede websam Nybegynder
01. februar 2005 - 15:11 #5
sjh >> Jer beklager ventetiden, men jeg skal da prøve at tjekke det af for at se hvad resultatet bliver. Et enkelt spørgsmål, venter ovenstående kode på at en .bat fil er færdig inden den starter en evt. nr 2 i mappen ?

/websam
Avatar billede sjh Nybegynder
01. februar 2005 - 15:38 #6
venter ovenstående kode = Nej
Avatar billede websam Nybegynder
22. marts 2005 - 15:05 #7
Jeg fik en god ven til at lave det hele som en service og det virker perfekt.

/Websam
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