Avatar billede jnoval Nybegynder
02. december 2003 - 15:13 Der er 8 kommentarer og
1 løsning

kontrol af værdi i tekstfil

Jeg har en tekstfil der indholder et serienr. Dette serienr. bliver en højere hvergang vi printer en label. Problemet er at serienr. af uforklarlige årsager af og til, bliver nulstillet. Derfor kunne jeg godt tænke mig at lave et script der kontrollerer at værdien er over 120000. Hvis værdien er for lille skal en alarm vises. Tekstfilen indholder:
[GLOBAL]
Serieno=127492
Nogen forslag til script
Tanken er så at dette script på en eller anden måde skal køre hver time.
Avatar billede minijensen1 Nybegynder
02. december 2003 - 15:23 #1
Scriptet kan laves i VBScript, og køres som en plangt opgave (Scheduled Task)
Avatar billede jnoval Nybegynder
02. december 2003 - 19:17 #2
Har du nogen forslag til et script der kan det?
Jeg havde også tænkt på Scheduled task, men problemet her er at man kan ikke lave nogen særlig god styring af det. F.eks. hvis jeg vælger at det skal køre 1 gang i timen, så skal jeg angive i hvormange timer det skal køre. Jeg vil gerne have det skal køre altid. Altså en gang hver time i de næste mange år. Det ville måske også være fint hvis det kun kørte i i normal arbejdstid.
Avatar billede minijensen1 Nybegynder
02. december 2003 - 19:24 #3
Jeg lavede engang et vbscript, som via scheduled task kørte hver 10. minut for altid - så det kan godt lade sig gøre. Scriptet generede en tekstfil, lignende den du har - så skal bare lige finde det frem, så skal jeg nok poste et script her.
Avatar billede jnoval Nybegynder
02. december 2003 - 19:35 #4
Det ville bare være super
Avatar billede bertelbrander Novice
02. december 2003 - 20:56 #5
Du kan lave det med et en-linies batch-script:

@for /F "tokens=2 delims==" %%I in ('findstr Serieno txt.fil') do @if %%I LSS 120000 net send Bertel "Number to small"

txt.fil er filens navn
net send Bertel "Number to small", er det der udføres hvis nummeret er mindre end 120000. I dette tilfælde sendes en besked til brugeren Bertel, der vil se det som en popup box.

Du gemmer linien i en .bat-fil som du sætter til at køre vha. "scheduled tasks"
Avatar billede minijensen1 Nybegynder
02. december 2003 - 21:39 #6
Gem denne fil som en .vbs fil (jeg kaldte den for check.vbs), og ret til i sFile og sAlertFile

' -- start fil --
Dim oFSO, oKeyFile, oFileStream, sSerieNumb, sFile, sLine, aTemp, iNumb, iMax

sFile = "d:\test\serieno.txt"
sAlertMsg = "Her er din besked når tallet er over 120000"
iMax = 120000


Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oKeyFile = oFSO.GetFile(sFile)
Set oFileStream = oKeyFile.OpenAsTextStream(1, 0)
Do While oFileStream.AtEndOfStream <> True
  sLine = LCase(oFileStream.ReadLine)
  If InStr(sLine, "=") Then
    aTemp = Split(sLine, "=")
    If aTemp(0) = "serieno" Then
      iNumb = Int(aTemp(1))
      Exit Do
    End If
  End If
Loop
Set oFileStream = Nothing
Set oKeyFile = Nothing
Set oFSO = Nothing

If iNumb > iMax Then MsgBox sAlertMsg

' -- slut fil --
Avatar billede systemkonsulenten Nybegynder
28. marts 2004 - 18:53 #7
En scheduled task behøver ingen slut dato. den kan køres lige så længe det skal være
Avatar billede jnoval Nybegynder
23. november 2004 - 14:07 #8
Endelig fik jeg tid til at tage mig af dette igen (Pinligt at have det åbent så længe). Men nu viser det sig at det ville være bedre at få fejlmeddelsen på en anden måde. Jeg vil gerne have en fil (serieno_error.txt) med følgende information:
Serieno, dato, tid.
Hvis fil (serieno_error.txt) eksisterer skal den nye fejl blot tilføjes i en ny linie i error filen.
D.v.s. ingen MsgBox, blot skriv i fil
Avatar billede jnoval Nybegynder
24. november 2004 - 12:13 #9
Så fik jeg løst det lille vb-script. Tak for hjælpen
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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