04. juli 2003 - 16:15Der er
19 kommentarer og 1 løsning
Kørsel hvert 2. minut??
Hej! jeg har skrevet en dum batch-fil, som kankopiere nogle filer fra 1 maskine til en anden hvert andet minut, men det er her problemet opstår... Jeg har prøvet at få det til at holde tidsplanen, vha. Planlagte Opgaver, men den kan kun køre 1 gang dagligt, og når maskinen logger på!! Nogle idéer til hvordan det kan køres automatisk hvert 2. minut??
@echo off :wait for /L %%k in (1,1,100000) do echo %%k call ditscript.bat goto wait
Det er måske ikke vildt kønt, men både nemt og hurtigt. Du skal nok skrue lidt på tallet 100000 for at få det til at tage ca 2 min alt efter din processor kraft. Held og lykke med det
Det vil nok være mere fikst at benytte et VBscript. Her er et eksempel:
Option Explicit dim i, tid const interval=5
sub Kopier Msgbox "her er jeg igen" end sub
tid=timer for i=1 to 10 kopier tid=tid+interval while timer<tid wend next
Du skal blot lave en fil med dette indhold og f.eks. navnet gentag.vbs Så vil der 10 gange hver 5. sekund komme et pop-up vindue med indholdet 'Her er jeg igen'. Du skal så blot i ændre indholdet af proceduren kopier til, at du enten aktiverer din bat-fil eller du skriver dine kopierings-ting i VBscript. Det sidste er det bedste.
Jeg kan ikke lige nu huske, hvordan man får et VBscript til at aktivere en bat-fil, men jeg kan finde ud af det, hvis det har interesse.
HMM... Problemet med denne løsning, er at jeg bliver tvunget til at trykke OK, på en dialogboks, 10 gang hvert 5. sekund, og det gider jeg ikke!! :D Jeg kender ikke meget til VBS, så jeg har ingen mulighed for at ændre i dit script, så det virker....
Bat-filsystemet virker, efter planen, så jeg tror jeg holder mig til det, men tak alligevel!! :D
Det er ikke tilfældet. Dett eksempel skulle blot vise, at der sker noget. Msgbox "her er jeg igen" skal fjernes. Kopier skal blot lave kopieringen og du behøver ikke at gøre noget.
Nu har jeg siddet og leget lidt mere med det. Jeg skriver om lidt et indlæg med et VBscript, der aktiverer en bat-fil 3 gange hvert 5. sekund. Så kan du bruge det eller lade være.
Her er så scriptet: Dette script vil hver gang der er gået 120 sek køre bat-filen kopier.bat. Dette vil ske 1000 gange ialt. Jeg anbefaler, at du for at teste det ændrer 1000 til 3. Så vil din bat-fil kun blive aktiveret 3 gange. Når det hele virker kan du jo ændre til 10000 gange eller hvad du nu synes.
Option Explicit dim i, tid, shell const interval=120
sub Kopier shell.run "kopier.bat",0,0 end sub
set shell=Wscript.CreateObject("Wscript.Shell")
tid=timer
for i=1 to 1000 kopier tid=tid+interval while timer<tid wend next
Jeg glemte at sige, at du skal lægge scriptet i det underkatalog, hvor din bat-fil ligger. Du kan starte VBscriptet ved at åbne et vindue til kataloget og blot klikke med musen på script-filen.
OK. Det er naturligvis det nemmeste at bruge en ren bat-løsning, men din windows maskine kører bedre, hvis du bruger VBscript. Dette siger jeg ikke, fordi jeg ikke fik nogle point.
Prøv at forsøge dig lidt med VBscript. Alt hvad man kan lave med bat-filer kan man også lave med VBscript.
Ulempen ved bat-scriptet er at det æder al CPU tid.
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.