31. januar 2005 - 11:06Der 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 ?
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.
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.
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 -------------------------------
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 ?
Jeg fik en god ven til at lave det hele som en service og det virker perfekt.
/Websam
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.