een programma starten na 30sec (in een .bat bestand)

Status
Niet open voor verdere reacties.

rino26

Gebruiker
Lid geworden
21 mrt 2011
Berichten
253
hallo lezers

wat moet ik in typen als ik een programma na 30sec wil starten? in een .bat bestand.
ik maak het gewoon in notepad. mij lukt het steeds niet om een programma na 30sec te starten.:confused:
alvast bedankt

rino26
 
ik kan het programma wel starten maar hij start niet in 30sec. ik heb ook een paar dingen veranderd en of hij het dan deed maar nee. ik heb er een 30 tussen gezet. hoe moet ik dan verder??
ik heb onder het kopje gekeken: CHOICE van de website: http://www.robvanderwoude.com/wait.php
 
Met CHOICE dien je het volgende in te geven ->

CHOICE /N /T 30 /D Y >NULL

of anders

TIMEOUT /T 30 /NOBREAK
 
*= heb ik aan gepast.
ik heb het naar zo gemaakt:

@ECHO OFF
IF "%1"=="" GOTO Syntax
ECHO.
ECHO Waiting %1 seconds
ECHO.
REM | CHOICE /N /T:30/D Y >NUL *
IF ERRORLEVEL 255 ECHO Invalid parameter
IF ERRORLEVEL 255 GOTO Syntax
GOTO End

:Syntax
ECHO.
ECHO WAIT for a specified number of seconds
ECHO.
ECHO Usage: WAIT n
ECHO.
ECHO Where: n = the number of seconds to wait (1 to 99)
ECHO.

:End

start "" "C:\Program Files\WinRAR\WinRAR.exe"

:end

maar zo werk het niet. en ik heb hem zo gemaakt:
@ECHO OFF
IF "%1"=="" GOTO Syntax
ECHO.
ECHO Waiting %1 seconds
ECHO.
REM | TIMEOUT /T 30 /NOBREAK *
IF ERRORLEVEL 255 ECHO Invalid parameter
IF ERRORLEVEL 255 GOTO Syntax
GOTO End

:Syntax
ECHO.
ECHO WAIT for a specified number of seconds
ECHO.
ECHO Usage: WAIT n
ECHO.
ECHO Where: n = the number of seconds to wait (1 to 99)
ECHO.

:End

start "" "C:\Program Files\WinRAR\WinRAR.exe"

:end

maar zo werk het ook niet.
*= heb ik aan gepast
wat moet ik dan verandere??
 
Laatst bewerkt:
Je maakt de regels waarin gewacht wordt commentaar (=Remark = REM), en dus worden ze overgeslagen/genegeerd:
REM | CHOICE /N /T:30/D Y >NUL *
REM | TIMEOUT /T 30 /NOBREAK *

Als TIMEOUT of CHOICE niet (goed) werken, dan kun je ook ping gebruiken. Voor een "pauze" van 30 seconden:
ping -n 30 127.0.0.1 > nul

Tijs.
 
Laatst bewerkt:
ik heb nou dit geprobeerd maar start nog steeds meteen op.
IF "%1"=="" GOTO Syntax
ECHO.
ECHO Waiting %1 seconds
ECHO.
ping -n 30 127.0.0.1 /pause/ > nul (of-ping -n 30 127.0.0.1 > nul-of-ping -n 30 127.0.0.1 /T:30/ > nul-of-ping -n 30 127.0.0.1 /T:30/DY > nul)
IF ERRORLEVEL 255 ECHO Invalid parameter
IF ERRORLEVEL 255 GOTO Syntax
GOTO End

maar dit ging ook fout.
hij start nog steeds meteen op.
wat nu??
 
Waarom plak je niet gewoon datgene wat je wordt voorgehouden? Ik heb het idee dat het daarop misloopt.
In je verhaal boven staan er andere dingen dan ik aangaf. Bijv. ping -n 30 127.0.0.1 /pause/ > nul
is niet wat ik heb aangegeven. Wat ik aangaf is (letterlijk overnemen!):
ping -n 30 127.0.0.1 > nul

Oftewel: 30x een ping doen (en die pings duren ong. 1 seconde per stuk) en de uitvoer ervan onderdrukken.

Tijs.
 
Laatst bewerkt:
Enne...
Als er geen parameter wordt meegegeven dan wordt (dankzij IF "%1"=="" GOTO Syntax) meteen gesprongen naar het :Syntax deel, dus wordt dan het hele pauze deel overgeslagen(!)
Je verplicht jezelf dus een parameter mee te geven bij de aanroep van je batch-bestand als je die 30 seconden ook echt wilt laten wachten voordat dat Winrar.exe wordt gestart.
Daar kan het ook aan liggen (dus een verkeerde manier van aanroepen).

Tijs.
 
Laatst bewerkt:
Precies. En de andere voorbeelden werken ook. Mits je idd. "REM" verwijderd en een parameter meegeeft bij het aanroepen van de functie.
 
@ECHO OFF
IF "%1"=="" GOTO Syntax
ECHO.
ECHO Waiting %1 seconds
ECHO.
CHOICE /C:AB /T:A,%1 > NUL
IF ERRORLEVEL 255 ECHO Invalid parameter
IF ERRORLEVEL 255 GOTO Syntax
GOTO End

ik heb "REM" weg gehaalt maar waar moet ik dan 30 neer zetten??
en heel erg bedankt dat jullie me help.
 
Laatst bewerkt:
Precies daar waar ie in mijn eerdere voorbeeld staat. Je code is weer ergens anders vandaan. Zucht.....
 
nee hoor,
het is nog steeds het zelfde maar ik heb een deel niet gepost.
@ECHO OFF
IF "%1"=="" GOTO Syntax
ECHO.
ECHO Waiting %30 seconds
ECHO.
CHOICE /C:AB /T:A,%1 > NUL
IF ERRORLEVEL 255 ECHO Invalid parameter
IF ERRORLEVEL 255 GOTO Syntax
GOTO End

:Syntax
ECHO.
ECHO WAIT for a specified number of seconds
ECHO.
ECHO Usage: WAIT n
ECHO.
ECHO Where: n = the number of seconds to wait (1 to 99)
ECHO.

:End

dit was het geheel
 
het is al goed. het werkt al. *= heb ik veranderd.
op deze manier:
@ECHO OFF
IF "%30"=="" GOTO Syntax *
ECHO.
ECHO Waiting %1 seconds
ECHO.
TIMEOUT /T 30 /NOBREAK *
IF ERRORLEVEL 255 ECHO Invalid parameter
IF ERRORLEVEL 255 GOTO Syntax
GOTO End

:Syntax
ECHO.
ECHO WAIT for a specified number of seconds
ECHO.
ECHO Usage: WAIT n
ECHO.
ECHO Where: n = the number of seconds to wait (1 to 99)
ECHO.

:End
 
Fijn dat het opgelost is.

Graag nog de vraag als opgelost aangeven: Klik op "Zet status opgelost" op de donkerblauwe horizontale balk, bijna bovenaan deze webpagina [die met "Zet status opgelost", "Onderwerp opties" etc.]

Tijs.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan