Avatar billede fralle Nybegynder
07. august 2006 - 15:46 Der er 5 kommentarer og
1 løsning

Starte programmer vha. batch file

Hej,

Skulle gerne have startet fire forskellige programmer vha. en batch file, der skal være en variende delay i mellem hvert program startes. Jeg har forsøgt at gøre det som vist nedenfor, dog uden 100% success. Explore starter efter 5 sekunder, og så kommer de andre ellers op en efter en med nogle sekunders mellemrum. Jeg skal altså have startet nogle forskellige programmer med et varierende delay imellem hvert program.

test.bat;

@ECHO OFF
REM Start script
CLS

ECHO .
ECHO Starter
ECHO .
@echo off
if \'%1==\' %0 5000 ms
echo Wscript.Sleep %1> ~tmp.vbs
cscript //nologo //t:0 ~tmp.vbs
del ~tmp.vbs
CALL C:\windows\explorer.exe
@echo off
if \'%1==\' %0 60000 ms
echo Wscript.Sleep %1> ~tmp.vbs
cscript //nologo //t:0 ~tmp.vbs
del ~tmp.vbs

ECHO .
ECHO Starter
ECHO .
CALL C:\windows\explorer.exe
@echo off
if \'%1==\' %0 30000 ms
echo Wscript.Sleep %1> ~tmp.vbs
cscript //nologo //t:0 ~tmp.vbs
del ~tmp.vbs

ECHO .
ECHO Starter
ECHO .
CALL C:\windows\explorer.exe
@echo off
if \'%1==\' %0 15000 ms
echo Wscript.Sleep %1> ~tmp.vbs
cscript //nologo //t:0 ~tmp.vbs
del ~tmp.vbs

ECHO .
ECHO Starter
ECHO .
CALL C:\windows\explorer.exe

REM End script


På forhånd tak!
Avatar billede ejvindh Ekspert
07. august 2006 - 15:59 #1
Problemet er nok, at call-kommandoen ikke venter på at det aktiverede vbs-script bliver færdigt. Der er et trick til at emulere en sleep-funktion mere direkte i batch-script, som du kan se her:
http://malektips.com/dos0017.html

(jeg har ikke afprøvet det, men det ser overbevisende ud...)
Avatar billede fralle Nybegynder
07. august 2006 - 16:33 #2
Smid et svar :)

Installerede resource kit til 2003 server og brugte " sleep n "
Virker super nu.
Avatar billede ejvindh Ekspert
07. august 2006 - 16:35 #3
Det lyder godt :-)
08. august 2006 - 00:57 #4
PS: Istedet for den midlertidige fil
~tmp.vbs
bør du eks. bruge
%TEMP%\~tmp.vbs

~tmp.vbs skrives jo i current dir - som måske ka' være et upraktisk/beskyttet sted.

Sådan gør jeg altid i de cmd/bat/... 'programmer' som jeg bruger...
Avatar billede fralle Nybegynder
11. august 2006 - 15:09 #5
Har faktisk lidt problemer med at få det til at virke med den "tmp.vbs" løsning. Har følgende kode:

@ECHO OFF

if \'%1==\' %0 1000 ms
echo Wscript.Sleep %1> %TEMP%\~tmp.vbs
cscript //nologo //t:0 %TEMP%\~tmp.vbs
del %TEMP%\~tmp.vbs
CALL C:\windows\explorer.exe

if \'%1==\' %0 10000 ms
echo Wscript.Sleep %1> %TEMP%\~tmp.vbs
cscript //nologo //t:0 %TEMP%\~tmp.vbs
del %TEMP%\~tmp.vbs
CALL C:\windows\explorer.exe

Den åbner den første explore.exe efter 1 sek, og så kommer den anden også efter 1 sek... any ideas? (evt. for lidt flere point) ? :)
11. august 2006 - 15:33 #6
Hmmm...

Alternativ "SLEEP" -> http://hemmingsvej.dk/eksperten/607690/sleep.zip

Sleep.exe antal-sekunder
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