[BAT] Datum functies in Batchfile*

Pagina: 1
Acties:
  • 1.720 views sinds 30-01-2008
  • Reageer

  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
Heb zojuist een batch-file gemaakt om een backup te maken, met hierin onder andere de code %date%. Hierdoor krijgt het backupbestand de datum mee (bijv. "Backup wo 06-06-2007"). Probleem is alleen dat ie de oude bestanden niet overschrijft omdat de bestandsnaam elke keer identiek is.

Bestaat er een code om het bestand een dagnummer (1-31) of een weeknummer (1-52) mee te geven, zodat bij het begin van een nieuwe maand (of een nieuw jaar) de oude bestanden automatisch weer overschreven worden?

Of misschien dat iemand hier een andere oplossing weet, waardoor er wel een tijdstip uit de bestandsnaam is op te maken, maar wat na verloop van tijd wel overschreven wordt? (zodat er dus niet oneindig veel bestanden ontstaan)

Thanx ;)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Moeilijk doen als het makkelijk kan:
code:
1
2
Del *.bak
Maak nieuwe .bak


Voila :Y)

Oh, ik las het verkeerd :X

[ Voor 60% gewijzigd door RobIII op 07-06-2007 13:11 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • RemcoDelft
  • Registratie: April 2002
  • Laatst online: 28-01 18:26
Murphy zegt: Computer crasht, harddisk defect, backup net kwijtgemaakt...
code:
1
Maak nieuwe .bak
Dit is de manier om je data kwijt te raken...

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
RemcoDelft schreef op donderdag 07 juni 2007 @ 13:15:
[...]

Murphy zegt: Computer crasht, harddisk defect, backup net kwijtgemaakt...

[...]

Dit is de manier om je data kwijt te raken...
Dan delete je ze niet maar rename je ze eerst naar *.tmp; maak vervolgens een nieuwe *.bak en delete dan alle *.tmp's. Beetje creatief zelf nadenken kan geen kwaad ;) Het ging om het principe; los van het feit dat ik de vraag niet helemaal goed begreep in eerste instantie :P

[ Voor 11% gewijzigd door RobIII op 07-06-2007 13:18 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • aZuL2001
  • Registratie: September 2002
  • Laatst online: 31-01 11:11
Je zou een backup kunnen laten maken naar een vaste bestandsnaam, en dan na de backup in de batch het bestandje laten hernoemen.

Als je dan ook nog wat check's inbouwd met If Excist, dan moet je toch wat kunnen bakken.


Maar je kunt het ook anders doen, door met naar de commandline opties van WinRAR te kijken.
Daar zitten diverse grappen in , waardoor de naamgeving eenvoudig wordt.

Edit : Post anders je batchfile, dan zouden we gerichter kunnen helpen

[ Voor 8% gewijzigd door aZuL2001 op 07-06-2007 13:21 . Reden: aanvulling ]

Abort, Retry, Quake ???


  • sig69
  • Registratie: Mei 2002
  • Laatst online: 21:23
Indien je xp gebruikt, is het niet handiger om gewoon de ingebouwde backup utility te gebruiken?

Roomba E5 te koop


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Ik zou gewoon %date% handhaven en vervolgens met forfiles gaan wissen, maar ja - als je programmeurs zich laat buigen over batchscripts krijg je allerlei oplossingen behalve de goede O-)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 04-03 22:42

Creepy

Tactical Espionage Splatterer

En nog een move van Programming naar Windows Clients zoals elevator al subtiel aangeeft :P

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
aZuL2001 schreef op donderdag 07 juni 2007 @ 13:20:
Edit : Post anders je batchfile, dan zouden we gerichter kunnen helpen
"C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN\stsadm.exe" -o backup -url http://servernaam/ -filename "locatie/Backup %date%.dat" -overwrite

Dus hij maakt er nu keurig van "Backup do 07-06-2007.bat". Maar dan maakt ie elke dag een nieuw bestand aan zonder te overschrijven. Mijn vraag is dus of er een optie is om het bestand een weeknummer (1-52) of dagnummer (1-31) mee te geven ipv de volledige datum (%date%)...

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Dag nummer kan je zelf doen door "%DATE%" uit elkaar te trekken, mijn voorkeur zou uit gaan - zoals ik al eerder aangaf - naar het wissen van de oude backups met een 'forfiles' opdracht :)

  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
elevator schreef op donderdag 07 juni 2007 @ 13:38:
Dag nummer kan je zelf doen door "%DATE%" uit elkaar te trekken, mijn voorkeur zou uit gaan - zoals ik al eerder aangaf - naar het wissen van de oude backups met een 'forfiles' opdracht :)
Hoe bedoel je 'door %DATE% uit elkaar te trekken'? Ben namelijk niet zo supergoed in command lines c.q. batch files!

  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
Ben wat aan het rondzoeken op google, maar wil nog nie echt vorderen :P
Maar we geven niet op, heb wel al andere (erg omslachtige) manieren gevonden..

  • SlinkingAnt
  • Registratie: December 2001
  • Niet online
Een hele tijd geleden heb ik in een batch de datum omgedraaid, zodat de backups netjes op jaar-maand-dag staan, ipv andersom.
code:
1
2
3
4
5
6
7
8
9
10
11
@set dag=%date:~0,2%
@echo DD = %dag%
@set datum=%date:~9,4%
@echo yyyy = %datum%
@set temp=%date:~6,2%
@echo mm = %temp%
@set temp2=%date:~3,2%
@echo dd = %temp2%
@set datum=%datum%-%temp%-%temp2%
@echo yyyy-mm-dd = %datum%
pause

Al ga je hier een beetje mee spelen, dan moet je er wel uitkomen denk ik zo.
Dit kun je trouwens allemaal in de help van 'set' vinden :)

Intel C2Q 9450@3.3 | Gigabyte P35-DS4 | Sapphire R280x | 4x 2GiB PC6400 Kingston DDR2 | 1x Intel 320SSD 240GB | 2x Spinpoint F1 320GiB


  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Ik heb alleen één groot bezwaar tegen NT batch als het om datumbewerkingen gaat, en dat is dat het niet universeel is.
Andere landinstellingen geven gelijk andere resultaten bijvoorbeeld.

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
SlinkingAnt schreef op donderdag 07 juni 2007 @ 20:25:
Een hele tijd geleden heb ik in een batch de datum omgedraaid, zodat de backups netjes op jaar-maand-dag staan, ipv andersom.
code:
1
2
3
4
5
6
7
8
9
10
11
@set dag=%date:~0,2%
@echo DD = %dag%
@set datum=%date:~9,4%
@echo yyyy = %datum%
@set temp=%date:~6,2%
@echo mm = %temp%
@set temp2=%date:~3,2%
@echo dd = %temp2%
@set datum=%datum%-%temp%-%temp2%
@echo yyyy-mm-dd = %datum%
pause

Al ga je hier een beetje mee spelen, dan moet je er wel uitkomen denk ik zo.
Dit kun je trouwens allemaal in de help van 'set' vinden :)
Thanx :) Weet je toevallig ook hoe je een weeknummer kunt aanmaken? Ben hier al tevreden mee hoor, maar het weeknummer zou helemaal perfect zijn! Dan maak ik wekelijks een back-up, en na een jaar begint ie met die van vorig jaar overschrijven zodat ik niet oneindig veel backups maakt..

  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
Heb het nu voor elkaar met dag (ma, di, wo) en met dagnummer (01-31) in de naam van het bachupbestand (dmv batch-file).. Ben nog aan het zoeken naar weeknummer (01-52).. Iemand suggesties?

  • alt-92
  • Registratie: Maart 2000
  • Niet online

alt-92

ye olde farte

Welke standaard van weekindeling wil je dan gebruiken?
Wil je dat de week zoals in NL op de maandag begint, of dat de week op de zondag begint?

ik heb een 864 GB floppydrive! - certified prutser - the social skills of a thermonuclear device


  • BvdH
  • Registratie: Mei 2006
  • Laatst online: 06-06-2025
alt-92 schreef op vrijdag 08 juni 2007 @ 16:25:
Welke standaard van weekindeling wil je dan gebruiken?
Wil je dat de week zoals in NL op de maandag begint, of dat de week op de zondag begint?
De week begint op de maandag, en dan een indeling van 1-52...
Pagina: 1