/ Forside / Teknologi / Operativsystemer / MS Windows / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
MS Windows
#NavnPoint
Klaudi 76474
o.v.n. 67550
refi 58409
tedd 45557
Manse9933 45149
molokyle 40687
miritdk 38357
briani 27239
BjarneD 26414
10  pallebhan.. 24310
bat-fil og ugedag
Fra : Leonard


Dato : 29-10-04 15:26

I gamle dage havde jeg noget der hed 4DOS, som havde et meget stærkt
batch-sprog.
Nu vil jeg gerne have en bat-fil i win xp til at finde ud af hvilken
ugedag det er og så gøre noget udfra det:

if ugedag=mandag udfør denne komandolinie
elseif ugedag=tirsdag udfør denne ...
elseif ugedag=onsdag ...
.... osv

Hvordan skal det se ud?


--
med venlig hilsen
Leonard - http://leonard.dk/

 
 
Gevaldi (29-10-2004)
Kommentar
Fra : Gevaldi


Dato : 29-10-04 15:26


Leonard skriblede:
> I gamle dage havde jeg noget der hed 4DOS

Ja, de gode gamle dage, men du kan nu stadig
hente programmet her:
http://www.jpsoft.com/4dosdes.htm




--
/Gevaldi

Bertel Brander (29-10-2004)
Kommentar
Fra : Bertel Brander


Dato : 29-10-04 20:09

Leonard wrote:
> I gamle dage havde jeg noget der hed 4DOS, som havde et meget stærkt
> batch-sprog.
> Nu vil jeg gerne have en bat-fil i win xp til at finde ud af hvilken
> ugedag det er og så gøre noget udfra det:
>
> if ugedag=mandag udfør denne komandolinie
> elseif ugedag=tirsdag udfør denne ...
> elseif ugedag=onsdag ...
> ... osv
>
> Hvordan skal det se ud?
>

Du kan downloade og udpakke:
http://home20.inet.tele.dk/midgaard/datestr.zip

Så kan du lave en bat fil der ser sådan ud:
@echo off
for /F %%I in ('datestr %%A') do set WeekDay=%%I
if %WeekDay%==Friday (
echo It's friday
) else (
echo It's not friday
)

Du kan læse om parametrene til datestr her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_strftime.2c_.wcsftime.asp

Bemærk at der skal bruges %%A i bat-filen og ikke %A

--
Juliet: What's in a name? that which we call a rose
By any other name would smell as sweet; ...
Romeo: I take thee at thy word:
Call me but love, and I'll be new baptized;

Leonard (10-11-2004)
Kommentar
Fra : Leonard


Dato : 10-11-04 16:03

Jeg fik dette forslag som virker fint i XP, men giver fejl i 98SE:

>@echo off
>for /F %%I in ('datestr %%A') do set WeekDay=%%I
>if %WeekDay%==Friday (
> echo It's friday
>) else (
> echo It's not friday
>)

Er der en der kan skrive det om til 98SE?

--
med venlig hilsen
Leonard - http://leonard.dk/

Bertel Brander (10-11-2004)
Kommentar
Fra : Bertel Brander


Dato : 10-11-04 19:50

Leonard wrote:
>
> Er der en der kan skrive det om til 98SE?

I Win 95 og 98 og ME er man nødt til at bruge en anden
metode, der dog også virker i NT/2000/XP.

Først download og udpak:
http://home20.inet.tele.dk/midgaard/weekday.zip

Når man kører programmet skriver det ugedagen
og sætter errorlevel efter ugedag, så man kan lave
en bat-fil med:

@echo off
weekday
if errorlevel 6 goto ItsSaturday
if errorlevel 5 goto itsFriday
if errorlevel 4 goto itsThursday
if errorlevel 3 goto itsWednesday
if errorlevel 2 goto itsTuesday
if errorlevel 1 goto itsMonday
echo its Sunday
goto Done
:ItsSaturday
echo its Saturday
goto Done
:itsFriday
echo its Friday
goto Done
:itsThursday
echo its Thursday
goto Done
:itsWednesday
echo its Wednesday
goto Done
:itsTuesday
echo its Tuesday
goto Done
:itsMonday
echo its Monday
goto Done
:Done

--
"I learned more from a three minute record
than I ever learned in school"
- Bruce Springsteen

Leonard (10-11-2004)
Kommentar
Fra : Leonard


Dato : 10-11-04 20:31

Bertel Brander <bertel@post4.tele.dk> wrote:

>Først download og udpak:
>http://home20.inet.tele.dk/midgaard/weekday.zip

Tak for det, men nu har jeg jo udviklet lidt i det andet script, så
jeg også hiver ugenummeret ud, har du også en funktion til det?

--
med venlig hilsen
Leonard - http://leonard.dk/

Bertel Brander (10-11-2004)
Kommentar
Fra : Bertel Brander


Dato : 10-11-04 20:57

Leonard wrote:
> Bertel Brander <bertel@post4.tele.dk> wrote:
>
>
>>Først download og udpak:
>>http://home20.inet.tele.dk/midgaard/weekday.zip
>
>
> Tak for det, men nu har jeg jo udviklet lidt i det andet script, så
> jeg også hiver ugenummeret ud, har du også en funktion til det?
>
Med denne:
http://home20.inet.tele.dk/midgaard/weeknum.zip

Kan du lave (ja, det bliver lidt langt):

@echo off
weeknum
if errorlevel 50 Goto Week50
if errorlevel 49 Goto Week49
if errorlevel 48 Goto Week48
if errorlevel 47 Goto Week47
if errorlevel 46 Goto Week46
if errorlevel 45 Goto Week45
if errorlevel 44 Goto Week44
echo Whatever
goto :Done

:Week50
echo Week 50
goto :Done
:Week49
echo Week 49
goto :Done
:Week48
echo Week 48
goto :Done
:Week47
echo Week 47
goto :Done
:Week46
echo Week 46
goto :Done
:Week45
echo Week 45
goto :Done
:Week44
echo Week 44
goto :Done

:Done

--
"I learned more from a three minute record
than I ever learned in school"
- Bruce Springsteen

Leonard (10-11-2004)
Kommentar
Fra : Leonard


Dato : 10-11-04 21:10

Bertel Brander <bertel@post4.tele.dk> wrote:

>Kan du lave (ja, det bliver lidt langt):
>
>@echo off
>weeknum
>if errorlevel 50 Goto Week50
>if errorlevel 49 Goto Week49

Kan jeg ikke få errorlevel ind i en variabel?

Det jeg bruger det til er et simpelt backupscript.
Først tester jeg på hvilken ugedag det er og den ene dag i ugen tager
jeg fuld backup, de øvrige kun en af ændrede filer. Backuppen gemmes i
en fil, der kaldes filnavn%ugenr%.zip.
Og det vil blive meget langt at skulle lave det med Goto for hver uge
....

--
med venlig hilsen
Leonard - http://leonard.dk/

Bertel Brander (10-11-2004)
Kommentar
Fra : Bertel Brander


Dato : 10-11-04 22:11

Leonard wrote:

> Kan jeg ikke få errorlevel ind i en variabel?

Du kan downloade:
http://home20.inet.tele.dk/midgaard/datecmd.zip

Så kan du lave en batfil:

@echo off
datecmd "echo set WeekNr=%%U>weeknr.bat"
call weeknr.bat
echo The variable WeekNr is now %WeekNr%

Den sætter weeknr.
Der bliver lavet en bat-fil kaldet weeknr.bat
den kan du evt. slette bagefter.

Du kan bruge datecmd til at køre alle typer kommandoer
hvor du skal bruge tid, f.ex. kan du oprette en mappe
kaldet dagens nummer i året med:

datecmd "md %%j"

Når du bruger det i en bat-fil skal du bruge %%
direkte i kommandprompten er det %

Du kan læse om alle formater her:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_strftime.2c_.wcsftime.asp

--
"I learned more from a three minute record
than I ever learned in school"
- Bruce Springsteen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408899
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste