DOS commando's: verwijderen mappen en xcopy

Status
Niet open voor verdere reacties.

Egbert12345

Gebruiker
Lid geworden
13 dec 2010
Berichten
463
Beste forummers,

Ik heb twee vragen. Wat wil ik doen?
Omdat ik een nogal grote verzameling foto's heb, wil ik daar wekelijks een back-up van maken op een externe harde schijf. Nu doe ik dat door middel van Windows Verkenner, maar via de oude DOS-commando's kan ik dat veel sneller doen, maar het DOS-tijdperk is voor mij wel erg lang geleden.

Verwijderen:
Mappen en submappen verwijderen. Voorbeeld MAP1 heeft diverse submappen (map1a) en die submappen (map1b, map1c etc) hebben ook weer veel mappen.
Als ik nu in map MAP1 het commando
del *.* /s
gebruik, dan moet ik bij iedere submap akkoord geven. Is er een snellere methode?

Kopiëren:
Om mijn map documenten te kopiëren gebruik ik:
xcopy C:\xxxx\xxxx\documents\*.* G:\Backup\documenten\ /E /G /H /Y
Op zich werkt het wel, maar om de een of andere reden slaat deze opdracht een paar mappen over (waar wel data in staat). Moet ik wellicht een ander commando gebruiken?

Met vriendelijke groet, Egbert
 
Gebruik voor het verwijderen del *.* /s /q
 
Bij de parameters die ik zie, mis ik /S staat voor subdirectory (bij kopiëren). Del is een zeer gevaarlijk commando! Het is normaal RD MAP1\map1a e.d. Voorwaarde is dat de map dan leeg is.
De structuur zet je dan even in een tekstverwerker Word.

Weet nog niet wat je precies wilt. Overigens zijn programma's als SyncBack en Allway Sync (maak doel gelijk aan bron) veel gemakkelijker.

xcopy C:\xxxx\xxxx\documents G:\Backup\documenten\ /S /E /G /H /Y /V
/S is Subdirectory
/V is Verify
Dit lijkt mij iets beter *.* is niet nodig. Punt is wat gebeurd er met later gewijzigde en verwijderde bestanden in documents op de back-uplocatie (documenten)?
 
Laatst bewerkt:
Beste Edmoor (pfff, jij hebt ook van alles verstand, je hebt me ook al vaak geholpen met excel en VBA mijn complimenten). Het verwijderen gaat nu wel bijna zoals ik wil, maar de submapjes zelf blijven staan. Kan ik die ook laten verwijderen. Ik ga in de bron map staan en daarna mag alles worden verwijderd.

Beste Senso, nu zijn er nog twee dingen:
Belangrijkste, het commando slaat nog steeds enkele mappen over (er staan files in). Enig idee hoe dat kan?
Het tweede is: als ik een volgende keer de back-up maak, dan moeten alleen de gewijzigde en nieuwe bestanden worden meegenomen. Moet ik dan de letter M toevoegen?

gr Egbert
 
Ik was in de war met deltree. Weet niet of die bij jouw nog werkt. Maar die is gevaarlijk bij toepassing van het verkeerde pad.
H:\>deltree H:\MAP1
dan zou alles weg moeten zijn. Pas op: zo op de C (verkeerde station/pad) toegepast heeft dat desastreuze gevolgen.
Maar de opdracht del heeft betrekking op bestanden en niet op mappen volgens mij.
Wil je mappen verwijderen dan kom je op RD remove directory die zul je dan in een tekstbestand moeten zetten.
Commando erase of del (*.*) om map leeg te maken en dan rd map1a rd map1b etc. Maar met allemaal submappen is daar geen beginnen aan.

Samengevat:
Bij Verwijderen is het een verkeerde opdracht. Dus verwijder de map helemaal in Verkenner.

Bij Kopiëren (xcopy) is ook een verkeerde opdracht en wordt een zoektocht en veel testen. Kijk naar SyncBack en/of Allway Sync (maak doel gelijk aan bron) inclusief opties voor gewijzigde en verwijderde bestanden. De laatste vereist een licentie (niet duur) maar het programma werkt uitstekend.

Onderstaand nog een voorbeeldbestand:
Code:
cls
cd\
rem------------------------------mm-dd-jjjj----
rem xcopy "b:\Test 1" "b:\Test 2\"/d:07-04-2019/s/v
rem-----------------------------------------jjjjmmdd
robocopy "b:\Test 1" "b:\Test 2" /S /MAXAGE:20190704
rem kopieer gewijzigde bestanden van en na 04-07-2019
 
Laatst bewerkt:
Zat ik er weer naast. Onderstaande is goed voor verwijderen:
Zat nog een fout in. Eerst uitzoeken. Deze moet goed zijn.

Code:
cls
cd\
h:
cd map1
del /f/q/s *.*
rem del /f/q/s *.* > NUL
cd..
rmdir /q/s map1
rem /F    - forces the deletion of read-only files
rem /Q    - enables quiet mode
rem /S    - runs the command on all files in any folder under the selected structure
rem *.*   - delete all files
rem > NUL - disables console output - saving time

Kun je zien dat je batch files altijd moet testen op bv een 'lege' USB-stick. Ik had een fout gemaakt met:
del h: /f/q/s/ *.*
dan pakt die dus de station h en alle submappen die in de root staan. Daar zul je niet blij van worden.
 
Laatst bewerkt:
Bedankt Senso, ik ga maar toch maar oriënteren op de back-up programma's die je adviseerde. Groet Egbert
 
Lijkt mij heel verstandig. Die kunnen vaak hetzelfde, zijn veel sneller in te stellen en werken goed. MS-DOS batch files zijn in heel specifieke gevallen een uitkomst, maar het vereist veel kennis (van parameters e.d.) en testen, opdat zaken werken zoals je wilt. En Edmoor wil je 's nachts ook niet iedere keer wakker maken.;)
 
Laatst bewerkt:
Daarnaast kan je achter alle DOS commando's /? plaatsen om de help info ervan te zien.
 
Dus eerst wakker maken en vervolgens achter alle DOS commando's /? plaatsen?:d:d:d
Zou toch maar naar de programma's kijken.
 
Daar zzzzzzzzou ik ook de voorkeur aan geven :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan