%Time% indholder tegn som : og , dem kan man ikke bruge i en sammenligning direkte. Så du skal lave %time% om til et heltal: for /F "tokens=1,2 delims=:" %%I in ("%Time%") do set MyTime=%%I%%J
Og så bruge %MyTime%:
IF %MyTime% LSS 1700 ( echo Time er mindre 17:00 ) ELSE ( echo Time er STØRRE 17:00 )
Man kan godt regne med datoer i bat filer. Man splitter datoen op med en for sætning som den jeg lavede før, derpå bruger man set /A til at regne. Men det er mere end almindelig bøvlet. Så hvis du kan finde en anden løsning er det at foretrække. Hvilket problem er det du vil have løst?
Det er fordi jeg er ved at lave et automatisk backup script. Det er lavet sådan et det skal uploade til en ftp. På ftp'en vil jeg gemme 7 dages backup filer (zip) som hedder %dato%.zip Så vil jeg have sådan at den skal slette dags dato -7 altså den ældste backup fil. Er der en anden måde man kan gøre det på?
Det er lidt giftigt. Jeg bruger normal python hvis jeg skal bruge noget mere avanceret.
Hvis du kører kommandoen help i en dos-prompt får du en liste over alle de kommandoer der findes. Skriver du så help kommando får du hjælp til kommando. Du kan finde den samme information under "Hjælp og Support" fra start menuen, prøv at søge på batch.
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.