[2000] .BAT laten controleren en handelen*

Pagina: 1
Acties:

  • Mizitras
  • Registratie: September 2002
  • Niet online
Eigenlijk niet op GOT waardig, maar kom, lets do it anyhow zodat het nadien toch in de search steekt voor later opzoekwerk *thumbsup*

Me batchbestand copiëert op de moment een hoop bestanden naar een map.
copy A -> B

Echter, omdat ie alles dmv het asteriskje copiëert, heb ik ook geen waarde of string,
zodat ik nadien ook niet kan laten checken van B naar A toe, "Bestaat dit bestand nog?"

Of kan ik nadien vanuit B zeggen:
Copy B WEER naar A, en check eerst of bestand B ook in A bestaat, zoniet, skippen.

Zodus zou eigenlijk gewoon alles vanuit A altijd naar B gecopiëerd worden,
en nadien de niet meer bestaande items in A, in B worden verwijdert.

Dacht niet dat dit met BAT-bestanden mogelijk was (dmv variabelen/parameters als %1 enzo), en windows scripting, ik laat het liever links liggen, omdat het niet zo fijn/hetzlelfde werkt in elke Windows.

"the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST"


  • Paul
  • Registratie: September 2000
  • Laatst online: 02-05 07:01
Wil je pas achteraf de "wezen" in B verwijderen? Anders kun je vantevoren een del B uitvoeren :)

Ik denk dat je een for-loop zoekt :) for %%1 in @ do if fileexists etc.
Ik ken alleen de for-lus van dos zo niet uit mijn hoofd :POpgezocht :)

code:
1
2
3
4
5
@echo off
cd b
for %%v in (*.*) do 
  if not fileexists a\%%v do
    del %%v

[ Voor 23% gewijzigd door Paul op 08-10-2004 15:56 ]

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


  • Mizitras
  • Registratie: September 2002
  • Niet online
Hmm, dat is niet efficiënt, want dan moet ie alleszins HEEL de inhoud van A copiëren -> TIJD !!!
Terwijl als ie alleen kijkt welke bestanden gewijzigd zijn of nieuw, die te kopiëren, gaat wel wat sneller.

EDIT: Bedankt voor het opzoekwerk. En zal die code ook werken om geen overbodig werk te doen zoals ik net zei ? (Dus reeds bestaande items deleten, en dan wéér schrijven.)

Ps: Veel plezier met je LED/luxeonlampen ;-) *wink wink*

[ Voor 39% gewijzigd door Mizitras op 08-10-2004 16:12 ]

"the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST"


  • Paul
  • Registratie: September 2000
  • Laatst online: 02-05 07:01
Mizitras schreef op 08 oktober 2004 @ 16:10:
Hmm, dat is niet efficiënt, want dan moet ie alleszins HEEL de inhoud van A copiëren -> TIJD !!!
Terwijl als ie alleen kijkt welke bestanden gewijzigd zijn of nieuw, die te kopiëren, gaat wel wat sneller.
Dat klopt :) Maar daar had je het helemaal niet over :P Sterker nog, je was bereid om het hele zooitje nogmaals te kopieren zoals ik het lees ;)
Maar bekijk daarvoor eens xcopy /? en dan met name de /D switch :)
EDIT: Bedankt voor het opzoekwerk. En zal die code ook werken om geen overbodig werk te doen zoals ik net zei ? (Dus reeds bestaande items deleten, en dan wéér schrijven.)
Haal de dirlist van B op, kijk of de File in A bestaat en zo nee, verwijder hem dan uit B... Als je dit nu doet na heb kopieren dan heb je dus een exacte kopie van A in B staan :) (evt met /recursive switches bij copy en zo :P Geen idee of dat werkt bij een for-loop trouwens :X )
offtopic:
Ps: Veel plezier met je LED/luxeonlampen ;-) *wink wink*
offtopic:
Luxeons had ik niet besteld en de led-sleutelhangertjes zijn een beetje oneerlijk verdeeld (lees: ik heb er geen gekregen). Oh well, ging me toch voornamelijk om de 6D :P

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Verwijderd

Mizitras schreef op 08 oktober 2004 @ 15:45:
Eigenlijk niet op GOT waardig, maar kom, lets do it anyhow zodat het nadien toch in de search steekt voor later opzoekwerk *thumbsup*

Me batchbestand copiëert op de moment een hoop bestanden naar een map.
copy A -> B

Echter, omdat ie alles dmv het asteriskje copiëert, heb ik ook geen waarde of string,
zodat ik nadien ook niet kan laten checken van B naar A toe, "Bestaat dit bestand nog?"

Of kan ik nadien vanuit B zeggen:
Copy B WEER naar A, en check eerst of bestand B ook in A bestaat, zoniet, skippen.

Zodus zou eigenlijk gewoon alles vanuit A altijd naar B gecopiëerd worden,
en nadien de niet meer bestaande items in A, in B worden verwijdert.

Dacht niet dat dit met BAT-bestanden mogelijk was (dmv variabelen/parameters als %1 enzo), en windows scripting, ik laat het liever links liggen, omdat het niet zo fijn/hetzlelfde werkt in elke Windows.
oftewel je bekijkt de resourcekit eens en vind daar robocopy.exe

  • Mizitras
  • Registratie: September 2002
  • Niet online
Paul, ja ik doe het met xcopy, en ja ik laat hem reeds die bestanden checken door mmiddel van /d

Gaat je code nog altijd op ? :-| [off-topic](sorry, ben nogal lui, ben vannacht lang opgeweest om snachts met lampjes te gaan spelen)[/off-topic]
resourcekit
En dat vind ik op me cd van windows 2K ? Ik moet geen afzonderlijk backupprogramma ofzo hoor, hopelijk kan dat roboding mij helpen in het maken van zo'n enkel bestand dat ze werk degelijk doet.

"the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST"


  • Paul
  • Registratie: September 2000
  • Laatst online: 02-05 07:01
Mizitras schreef op 08 oktober 2004 @ 17:01:
Paul, ja ik doe het met xcopy, en ja ik laat hem reeds die bestanden checken door mmiddel van /d

Gaat je code nog altijd op ? :-|
Geen idee of dat met subdirectories werkt zei ik al :)
[...]

En dat vind ik op me cd van windows 2K ? Ik moet geen afzonderlijk backupprogramma ofzo hoor, hopelijk kan dat roboding mij helpen in het maken van zo'n enkel bestand dat ze werk degelijk doet.
1e hit op google :) Ik denk dat de command line switches /E en /PURGE samen mooi doen wat jij wilt :)

"Your life is yours alone. Rise up and live it." - Richard Rahl
Rhàshan - Aditu Sunlock


Verwijderd

/mir :) zet wel ff de retries op een normale waarde... 1.000.000 keer is zo overdreven :)

  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

Nog even een titel edit, '[WIN]' in Windows 2000 is niet zo zinvol - het is namelijk niet voo niets Windows Operating Systems :)

  • Mizitras
  • Registratie: September 2002
  • Niet online
edit: andere methode gekozen van oplossen

[ Voor 136% gewijzigd door Mizitras op 12-10-2004 01:53 ]

"the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST"


  • elevator
  • Registratie: December 2001
  • Niet online

elevator

Officieel moto fan :)

de parameter van 'if not exist' moet helemaal niet tussen ()'s staan voor zover ik weet? :)

  • Mizitras
  • Registratie: September 2002
  • Niet online
elevator schreef op 12 oktober 2004 @ 00:41:
de parameter van 'if not exist' moet helemaal niet tussen ()'s staan voor zover ik weet? :)
Het kan/mag anders wel, want meestal lukt het zo, met de parameters ts. () te zetten wel. (Vind het zelf ook maar vreemd :?
En, god mag weten hoe, maar hernoem je het naar .cmd dan is hij precies meer openstaan voor zo'n zaken.

Heb ondertussen nog vanalles geprobeerd, kom later misschien in deze post er nog op terug. Bedankt allen.


PS: Voor backups, NHB (No Hands Backup), en het is freeware !

"the fucking alpha cpp compiler seems to fuck up the goddam type "LPITEMIDLIST", so to work around the fucking peice of shit compiler we pass the last param as an void *instead of a LPITEMIDLIST"

Pagina: 1