|
| timer-minutter variabel Fra : Morten Christensen |
Dato : 14-10-07 17:12 |
|
Jeg skal lave backup af en database ved at kopiere den i en bat-fil.
Efter kopieringen skal filen omdøbes, så dato og tid kommer med i
fil-navnet.
Med "ren fil.navn fil_%date 0,10%.navn" får jeg dato-oplysninger ind i
filnavnet. %date% kan så gentages, så datoen bliver formatteret, som jeg
vil have det.
Findes der en variabel som %date:% som kan indsætte timer og minutter ?
--
Morten Christensen
| |
Jan Vestergaard (14-10-2007)
| Kommentar Fra : Jan Vestergaard |
Dato : 14-10-07 18:02 |
|
Morten Christensen skrev følgende i et indlæg på Usenet:
> Findes der en variabel som %date:% som kan indsætte timer og
> minutter ?
%time%
- den giver dog normalt også sekunder og hundrededele sekunder -
det ved jeg ikke om man kan slippe for......
Jan
--
Med venlig hilsen Jan Vestergaard
Web: www.jve.dk - email kan sendes via hjemmesiden
- men indlæg på Usenet bør normalt besvares i gruppen
| |
Jan Vestergaard (14-10-2007)
| Kommentar Fra : Jan Vestergaard |
Dato : 14-10-07 18:36 |
|
Jan Vestergaard skrev følgende i et indlæg på Usenet:
> - den giver dog normalt også sekunder og hundrededele sekunder
> - det ved jeg ikke om man kan slippe for......
Det gør man selvfølgelig efter samme metode, som med date
%time 0,5%
Jan
--
Med venlig hilsen Jan Vestergaard
Web: www.jve.dk - email kan sendes via hjemmesiden
- men indlæg på Usenet bør normalt besvares i gruppen
| |
Morten Christensen (14-10-2007)
| Kommentar Fra : Morten Christensen |
Dato : 14-10-07 19:35 |
|
Jan Vestergaard skrev dette den 14-10-2007 19:35:
> Jan Vestergaard skrev følgende i et indlæg på Usenet:
>> - den giver dog normalt også sekunder og hundrededele sekunder
>> - det ved jeg ikke om man kan slippe for......
>
> Det gør man selvfølgelig efter samme metode, som med date
>
> %time 0,5%
>
> Jan
Når resultatet skal ind i et filnavn, er det naturligvis nødvendigt at
drible udenom colon'er og komma'er i tids-svaret.
Så der må vist ikke være mere end 2 karakterer i træk.
--
Morten Christensen
| |
Morten Christensen (14-10-2007)
| Kommentar Fra : Morten Christensen |
Dato : 14-10-07 19:23 |
|
Jan Vestergaard skrev dette den 14-10-2007 19:01:
> Morten Christensen skrev følgende i et indlæg på Usenet:
>> Findes der en variabel som %date:% som kan indsætte timer og
>> minutter ?
>
> %time%
>
> - den giver dog normalt også sekunder og hundrededele sekunder - det ved
> jeg ikke om man kan slippe for......
>
> Jan
Tak for hjælpen. Nu ser det ud til, jeg har puslet mig frem til den
rigtige løsning. Med forbehold for slåfejl og på 1 linie:
ren fil.navn
fil_%date 8,2%%date 3,2%%date 0,2%-%time 0,2%%time 3,2%%time 6,2%.navn
giver
fil_071014-202253.navn
--
Morten Christensen
| |
Jan Vestergaard (14-10-2007)
| Kommentar Fra : Jan Vestergaard |
Dato : 14-10-07 19:56 |
|
Morten Christensen skrev følgende i et indlæg på Usenet:
> Tak for hjælpen. Nu ser det ud til, jeg har puslet mig frem
> til den rigtige løsning. Med forbehold for slåfejl og på 1
> linie: ren fil.navn
> fil_%date 8,2%%date 3,2%%date 0,2%-%time 0,2%%time 3,2%%time 6,2%.navn
> giver
> fil_071014-202253.navn
Ja - det ser rigtigt ud
Jan
--
Med venlig hilsen Jan Vestergaard
Web: www.jve.dk - email kan sendes via hjemmesiden
- men indlæg på Usenet bør normalt besvares i gruppen
| |
Klaus Jørgensen (15-10-2007)
| Kommentar Fra : Klaus Jørgensen |
Dato : 15-10-07 07:46 |
|
Morten Christensen wrote :
> Jan Vestergaard skrev dette den 14-10-2007 19:01:
>> Morten Christensen skrev følgende i et indlæg på Usenet:
>>> Findes der en variabel som %date:% som kan indsætte timer og
>>> minutter ?
>>
>> %time%
>>
>> - den giver dog normalt også sekunder og hundrededele sekunder - det ved
>> jeg ikke om man kan slippe for......
>
> Tak for hjælpen. Nu ser det ud til, jeg har puslet mig frem til den
> rigtige løsning. Med forbehold for slåfejl og på 1 linie:
>
> ren fil.navn
> fil_%date 8,2%%date 3,2%%date 0,2%-%time 0,2%%time 3,2%%time 6,2%.navn
>
> giver
> fil_071014-202253.navn
Husk lige at teste tiderne med encifrede timetal.
--
/klaus
Hold din (udbyders) mailserver fri for spam;
krypter din email-adresse til højre for "@".
| |
Morten Christensen (15-10-2007)
| Kommentar Fra : Morten Christensen |
Dato : 15-10-07 13:44 |
|
Klaus Jørgensen skrev:
> Morten Christensen wrote :
>> Jan Vestergaard skrev dette den 14-10-2007 19:01:
>>> Morten Christensen skrev følgende i et indlæg på Usenet:
>>>> Findes der en variabel som %date:% som kan indsætte timer og
>>>> minutter ?
>>>
>>> %time%
>>>
>>> - den giver dog normalt også sekunder og hundrededele sekunder - det
>>> ved jeg ikke om man kan slippe for......
>>
>> Tak for hjælpen. Nu ser det ud til, jeg har puslet mig frem til den
>> rigtige løsning. Med forbehold for slåfejl og på 1 linie:
>>
>> ren fil.navn
>> fil_%date 8,2%%date 3,2%%date 0,2%-%time 0,2%%time 3,2%%time 6,2%.navn
>>
>>
>> giver
>> fil_071014-202253.navn
>
> Husk lige at teste tiderne med encifrede timetal.
Ja, der fejlede den. Jeg må lave et nyt forsøg efter midnat.
Mon det også går galt de første 9 dage i måneden
--
Morten Christensen
| |
Morten Christensen (16-10-2007)
| Kommentar Fra : Morten Christensen |
Dato : 16-10-07 08:48 |
|
Morten Christensen skrev dette den 15-10-2007 14:43:
> Klaus Jørgensen skrev:
>> Morten Christensen wrote :
>>> Jan Vestergaard skrev dette den 14-10-2007 19:01:
>>>> Morten Christensen skrev følgende i et indlæg på Usenet:
>>>>> Findes der en variabel som %date:% som kan indsætte timer og
>>>>> minutter ?
>>>
>>> Tak for hjælpen. Nu ser det ud til, jeg har puslet mig frem til den
>>> rigtige løsning. Med forbehold for slåfejl og på 1 linie:
>>>
>>> ren fil.navn
>>> fil_%date 8,2%%date 3,2%%date 0,2%-%time 0,2%%time 3,2%%time 6,2%.navn
>>>
>>>
>>> giver
>>> fil_071014-202253.navn
>>
>> Husk lige at teste tiderne med encifrede timetal.
>
Den her ser ud til, at klare problemet med det encifrede timetal. Første
karakter af timen bliver ikke taget fra variablen, men er hardcodet til
0. Jeg har de 2 linier stående under hinanden. Efter 10 omdøber den
første linie, og der er ingen fil til den anden linie at omdøbe. Før 10
fejler den første linie, hvorefter den anden linie omdøber.
ren fil.navn
fil_%date 8,2%%date 3,2%%date 0,2%-0%time 1,1%%time 3,2%%time 6,2%.navn
Men jeg er ikke sikker på, løsningen er sikker nok til backup af en
vigtig database.
--
Morten Christensen
| |
Klaus Jørgensen (16-10-2007)
| Kommentar Fra : Klaus Jørgensen |
Dato : 16-10-07 09:19 |
|
Morten Christensen wrote :
> Morten Christensen skrev dette den 15-10-2007 14:43:
>> Klaus Jørgensen skrev:
>>> Morten Christensen wrote :
>>>> Jan Vestergaard skrev dette den 14-10-2007 19:01:
>>>>> Morten Christensen skrev følgende i et indlæg på Usenet:
>>>>>> Findes der en variabel som %date:% som kan indsætte timer og
>>>>>> minutter ?
>>>>
>>>> Tak for hjælpen. Nu ser det ud til, jeg har puslet mig frem til den
>>>> rigtige løsning. Med forbehold for slåfejl og på 1 linie:
>>>>
>>>> ren fil.navn
>>>> fil_%date 8,2%%date 3,2%%date 0,2%-%time 0,2%%time 3,2%%time 6,2%.navn
>>>>
>>>>
>>>> giver
>>>> fil_071014-202253.navn
>>>
>>> Husk lige at teste tiderne med encifrede timetal.
>>
>
> Den her ser ud til, at klare problemet med det encifrede timetal. Første
> karakter af timen bliver ikke taget fra variablen, men er hardcodet til 0.
> Jeg har de 2 linier stående under hinanden. Efter 10 omdøber den første
> linie, og der er ingen fil til den anden linie at omdøbe. Før 10 fejler den
> første linie, hvorefter den anden linie omdøber.
>
> ren fil.navn
> fil_%date 8,2%%date 3,2%%date 0,2%-0%time 1,1%%time 3,2%%time 6,2%.navn
>
> Men jeg er ikke sikker på, løsningen er sikker nok til backup af en vigtig
> database.
Jeg ville nu nok lave det som følger:
--------------------------------------------------
set t99=%time%
if "!%t99 0,1%"=="! " (set t=0%t99 1,1%%t99 3,2%) else (set
t=%t99 0,2%%t99 3,2%)
echo %t%
--------------------------------------------------
Jeg bruger t99 som en midlertidig variabel så referencen ikke kan
skifte undervejs i processen, og udskriver så resultatet. Bemærk at
"if"-sætningen er én lang linie - den kan knække i en newsreader.
--
/klaus
Hold din (udbyders) mailserver fri for spam;
krypter din email-adresse til højre for "@".
| |
Hans Kjaergaard (15-10-2007)
| Kommentar Fra : Hans Kjaergaard |
Dato : 15-10-07 14:34 |
|
On Sun, 14 Oct 2007 18:12:25 +0200, Morten Christensen
<mc@mc.sletmig.cx> wrote:
>Jeg skal lave backup af en database ved at kopiere den i en bat-fil.
>Efter kopieringen skal filen omdøbes, så dato og tid kommer med i
>fil-navnet.
>
>Med "ren fil.navn fil_%date 0,10%.navn" får jeg dato-oplysninger ind i
>filnavnet. %date% kan så gentages, så datoen bliver formatteret, som jeg
>vil have det.
>
>Findes der en variabel som %date:% som kan indsætte timer og minutter ?
Ikke helt, men måske fgl kan bruges ?
set datodag=%DATE 0,2%
set datomaaned=%DATE 3,2%
set datoaar=%DATE 6,4%
set tid-T=%time 0,2%
set tid-M=%time 3,2%
filnavn_som_består_af_dato_måned_år_klokkeslet_som_timer_og_minutter.txt="%datodag%-%datomaaned%-%datoaar%-%tid-T%-%tid-M%.txt"
/Hans
| |
Morten Christensen (15-10-2007)
| Kommentar Fra : Morten Christensen |
Dato : 15-10-07 19:18 |
|
Hans Kjaergaard skrev:
> On Sun, 14 Oct 2007 18:12:25 +0200, Morten Christensen
> <mc@mc.sletmig.cx> wrote:
>
>> Jeg skal lave backup af en database ved at kopiere den i en bat-fil.
>> Efter kopieringen skal filen omdøbes, så dato og tid kommer med i
>> fil-navnet.
>>
>> Med "ren fil.navn fil_%date 0,10%.navn" får jeg dato-oplysninger ind i
>> filnavnet. %date% kan så gentages, så datoen bliver formatteret, som jeg
>> vil have det.
>>
>> Findes der en variabel som %date:% som kan indsætte timer og minutter ?
> Ikke helt, men måske fgl kan bruges ?
>
> set datodag=%DATE 0,2%
> set datomaaned=%DATE 3,2%
> set datoaar=%DATE 6,4%
> set tid-T=%time 0,2%
> set tid-M=%time 3,2%
>
> filnavn_som_består_af_dato_måned_år_klokkeslet_som_timer_og_minutter.txt="%datodag%-%datomaaned%-%datoaar%-%tid-T%-%tid-M%.txt"
Tak for forslaget. Men mon ikke det har samme problem som den anden
løsning. At hvis det er før 10 om formiddagen, er der kun 1 karakter for
timetallet, og så kommer der et kolon med i både time-værdien og
minut-værdien. Hart du en løsning på, at checke om den 2. karakter i
timer og minutter er et tal eller et kolon ?
--
Morten Christensen
| |
Hans Kjaergaard (15-10-2007)
| Kommentar Fra : Hans Kjaergaard |
Dato : 15-10-07 19:54 |
|
On Mon, 15 Oct 2007 20:17:55 +0200, Morten Christensen
<mc@mc.sletmig.cx> wrote:
>Hans Kjaergaard skrev:
>> On Sun, 14 Oct 2007 18:12:25 +0200, Morten Christensen
>> <mc@mc.sletmig.cx> wrote:
>>
>>> Jeg skal lave backup af en database ved at kopiere den i en bat-fil.
>>> Efter kopieringen skal filen omdøbes, så dato og tid kommer med i
>>> fil-navnet.
>>>
>>> Med "ren fil.navn fil_%date 0,10%.navn" får jeg dato-oplysninger ind i
>>> filnavnet. %date% kan så gentages, så datoen bliver formatteret, som jeg
>>> vil have det.
>>>
>>> Findes der en variabel som %date:% som kan indsætte timer og minutter ?
>> Ikke helt, men måske fgl kan bruges ?
>>
>> set datodag=%DATE 0,2%
>> set datomaaned=%DATE 3,2%
>> set datoaar=%DATE 6,4%
>> set tid-T=%time 0,2%
>> set tid-M=%time 3,2%
>>
>> filnavn_som_består_af_dato_måned_år_klokkeslet_som_timer_og_minutter.txt="%datodag%-%datomaaned%-%datoaar%-%tid-T%-%tid-M%.txt"
>
>Tak for forslaget. Men mon ikke det har samme problem som den anden
>løsning. At hvis det er før 10 om formiddagen, er der kun 1 karakter for
>timetallet, og så kommer der et kolon med i både time-værdien og
>minut-værdien. Hart du en løsning på, at checke om den 2. karakter i
>timer og minutter er et tal eller et kolon ?
Kik lidt på hvordan det er bygget op, så tror jeg der er basis for et
eksperiment desangående, noget al la:
set kolon = %time 2,1%
if %kolon% == ":" goto whatever
med en sådan test kan du jo selv fylde et evt. manglende nul ind.
/Hans
| |
Jan Vestergaard (15-10-2007)
| Kommentar Fra : Jan Vestergaard |
Dato : 15-10-07 20:01 |
|
Morten Christensen skrev følgende i et indlæg på Usenet:
> Tak for forslaget. Men mon ikke det har samme problem som den
> anden løsning. At hvis det er før 10 om formiddagen, er der
> kun 1 karakter for timetallet, og så kommer der et kolon med i
> både time-værdien og minut-værdien. Hart du en løsning på, at
> checke om den 2. karakter i timer og minutter er et tal eller
> et kolon ?
Det burde ikke være et problem, da det stadig er samme karakter i
strengen.
Det første ciffer er bare udskiftet med en blank - her er de fire
muligheder, som de ser ud i Win XP:
Time indsætter en blank før første ciffer:
9:09:37,56
10:10:13,79
Date indsætter et 0:
09-09-2007
10-10-2007
Jan
--
Med venlig hilsen Jan Vestergaard
Web: www.jve.dk - email kan sendes via hjemmesiden
- men indlæg på Usenet bør normalt besvares i gruppen
| |
|
|