Batchjob afhankelijk van de dag

Status
Niet open voor verdere reacties.

Schrikbeeld

Gebruiker
Lid geworden
10 jun 2008
Berichten
64
Vast verkeerd gepost, maar ik kon geen "DOS-commandline programmeer forum" vinden....

Ik wil een batchjob maken die dagelijks loopt en telkens een paar variabelen zet afhankelijk van de dag en een aanroepparameter.
De aanroepparameter kan bijv. 5, 25 of 50 zijn.


if weekday = Saturday
then
satmode=full
satprot=aanroepparameter
sunmode=inc
sunmode=1
endif
if weekday = Sunday
then
satmode=inc
satprot=1
sunmode=full
sunmode=aanroepparameter
endif

Iemand enig idee hoe dit aan te pakken?
 
Lijkt mij een kwestie van 7 geplande taken te maken, die wekelijks worden aangeroepen op de juiste dag van de week.
Voorbeeld: Stel dat je het (via geplande taken) aan te roepen batch-bestand test.bat noemt.
Dan een geplande taak die elke zaterdag loopt, met als opdrachtregel:
"pad\test.bat" full aanroepparameter inc 1

Geplande taak die elke zondag loopt, met als opdrachtregel:
"pad\test.bat" inc 1 aanroepparameter full

In de batchfile gebruik maken van %1 (=satmode), %2 (=satprot), %3 (=sunmode1), %4 (=sunmode2)
%1 is meegegeven parameter1, %2 is meegegeven parameter2 etc.

Succes,

Tijs.
 
Dat is veeel programmeerwerk en erg inflexibel. Ik had nl. maar een paar variabelen in het voorbeeld gezet terwijl ik er veel meer nodig heb.
Daarnaast moeten de variabelen dus afhankelijk van de dag van de week een andere inhoud krijgen.
Is het uberhaupt mogelijk om in een .bat of .cmd de weekdag af te vragen en if then constructies te maken?
 
Het kan, maar dan moet/kun je gebruik maken van het DATE commando
Let op dat de vergelijkingsstrings voor het Nederlands zijn opgemaakt. Je moet dus aanpassingen doen als je het (ook) in Engelse etc. versies wilt gebruiken.

Code:
@echo off
for /f %%a in ('date /t') do set DAY=%%a
if %DAY%==ma goto maandag
if %DAY%==di goto dinsdag
if %DAY%==wo goto woensdag
if %DAY%==do goto donderdag
if %DAY%==vr goto vrijdag
if %DAY%==za goto zaterdag
if %DAY%==zo goto zondag
goto end
:maandag
[B]<Jouw commando's voor de maandag>[/B]
goto end
:dinsdag
[B]<Jouw commando's voor de dinsdag>[/B]
goto end
:woensdag
[B]<Jouw commando's voor de woensdag>[/B]
goto end
:donderdag
[B]<Jouw commando's voor de donderdag>[/B]
goto end
:vrijdag
[B]<Jouw commando's voor de vrijdag>[/B]
goto end
:zaterdag
[B]<Jouw commando's voor de zaterdag>[/B]
goto end
:zondag
[B]<Jouw commando's voor de zondag>[/B]
goto end

:end

Succes,

Tijs.
 
Laatst bewerkt:
Hi,

de oplossing is
for /f %%a in ('date /t') do set DAY=%%a

zeer bedankt dnties!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan