Mapnaam met huidige datum

Status
Niet open voor verdere reacties.

anton44

Verenigingslid
Lid geworden
20 mei 2005
Berichten
1.597
Voor het handmatig starten van backups gebruik ik lege mappen met naam en laatst gebackupte datum.
bv ! 450G5 Backup data - 20211023
Hierbij komt het tekstgedeelte in een aantal varianten voor.
Ik zoek een oplossing voor het aanpassen van de datum naar de huidige datum of het aanmaken van nieuwe mappen met de huidige datum.
Met Linux lees ik een oplossing bv $ mkdir ostechnix.com-$(date +"%d-%m-%Y") maar werkt uiteraard niet in Windows.
Ik stel met voor dat in een .bat bestand met een lijst van locaties en mapnamen de huidige datum toegevoegd wordt en vervolgens gerund.
 
Probeer deze eens:
Code:
 %date:~3,10%
Laat anders eerst zien wat het resultaat is van dit:
Code:
echo %date%
 
hei edmoor, dat is snel !
Beide scripts geven alleen een beeldflits
 
Logisch als je het niet in een command scherm doet.
Als je het in een batch file doet, zet er dan Pause onder.
 
Met een pause:
Code:
echo %date%
pause
 
Laatst bewerkt:
Dan weet ik niet wat je precies doet.
Wat ik zei werkt al sinds DOS 5.0.
 
voor het 1e script
 

Bijlagen

  • FG-2021-10-30_135514.jpg
    FG-2021-10-30_135514.jpg
    48,1 KB · Weergaven: 15
Er staat geen Echo voor.
Dacht dat je dat wel wist.
 
Sorry, te snel willen werken waardoor verkeerde schermafdrukken.
 

Bijlagen

  • FG-2021-10-30_135848.jpg
    FG-2021-10-30_135848.jpg
    33,3 KB · Weergaven: 17
  • FG-2021-10-30_135514.jpg
    FG-2021-10-30_135514.jpg
    48,1 KB · Weergaven: 15
Die eerste is toch goed?
In plaats van echo kan je dan mkdir gebruiker om de folder aan te maken.
 
De 1e is inderdaad een goed startpunt maar ik zag graag als datumnotatie jjjjmmdd (20211030) vanwege sortering.
 
Dan doe je dit:
Code:
echo %date:~9,4%%date:~6,2%%date:~3,2%
Of uiteraard mkdir in plaats van echo.
 
Dat cmd geeft als resultaat:
 

Bijlagen

  • FG-2021-10-30_143000.jpg
    FG-2021-10-30_143000.jpg
    20,3 KB · Weergaven: 16
Dan kijk je dus wat echo %date% terug geeft en pas je het daar op aan.
De string is zero based, dus je begint te tellen bij 0:
Probeer dit:
Code:
echo %date:~6,4%%date:~3,2%%date:~0,2%

Ik kan het hier niet testen omdat %date% bij mij een string in een ander formaat terug geeft.
 
Laatst bewerkt:
Ik was daar al mee begonnen. Het jaartal %date:~6,4% had ik al gevonden ;)
Een test met je laatste code was GOED !! tjakka
Hartstikke bedankt alweer. ik kan weer verder.
 

Bijlagen

  • FG-2021-10-30_144107.jpg
    FG-2021-10-30_144107.jpg
    22,1 KB · Weergaven: 23

Nogmaals dank.

Voor de statistieken: Ik maakte al kennis met DOS versie 3.1 (weet ik zeker) of nog ouder.:cool:
Werkend in de Windowsomgeving vergeet ik vaak de relatie met DOS.
Zo is in .bat de tekens "(" en ")" nieuw voor mij en weet ik de spelregels daarvoor nog niet. Komt wel goed !
 
En zo niet, dan is er Helpmij :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan