Xcopy opdracht: syntaxis en voorbeelden

Abraham54

Administrator
Forumleiding
Lid geworden
2 aug 2016
Berichten
34.578
Leeftijd
70
OS
Windows 11 Professional
AV
Microsoft Defender
FW
Windows Firewall
Xcopy opdracht: syntaxis en voorbeelden

xcopy zit als onderdeel in Windows>Systeem 32 als xcopie.exe.
xcopy is vanaf Windows XP in Windows aanwezig en wordt gebruikt middel de Opdrachtprompt, Windows Powershell enz.

Opdracht Xcopy

Xcopy is een ingebouwd commando in Windows OS dat geavanceerde functies heeft dan het basiscommando Copy.
De extra mogelijkheden van Xcopy staan hieronder vermeld.
  1. Xcopy kan directories kopiëren
  2. Xcopy kan alle bestanden inclusief submappen recursief kopiëren en kan de bronmapstructuur repliceren.
  3. Xcopy kan bestanden uitsluiten op basis van bestandsnaam of extensie
  4. Xcopy kan bijgewerkte bestanden identificeren (op basis van archiefkenmerk of op basis van een bepaalde afsluitdatum),
    dus het is nuttig voor incrementele back-upbehoeften.

Xcopy opdracht om bestanden te kopiëren.

Xcopy /I bron_directory doel_directory

Dit zal alleen de directe bestanden in de bronmap naar de bestemming kopiëren. Bestanden uit subdirectories worden niet gekopieerd.
Door de schakeloptie /I toe te voegen wordt de vraag aan de gebruiker "Geeft de doelmap een bestandsnaam of een mapnaam op het
doel aan" vermeden.


Kopieert een directory inclusief bestanden en subdirectories recursief.

Xcopy /S /I /E Source_Directory Destination_directory

Om bijvoorbeeld alle bestanden van D:\data te kopiëren naar de map E:\Nieuwe map\documenten moeten we het volgende commando uitvoeren:
Xcopy /S /I /E D:\data\documenten E:\Nieuwe map\documenten

Deze opdracht maakt de map E:\Nieuwe map\documenten als deze nog niet bestaat. Het maakt ook dezelfde map/bestandsstructuur aan in de doelmap.
Als de doelmap al bestaat, hoeft u geen /I toe te voegen.
Als de map niet bestaat en u geeft geen /I op, dan wordt u gevraagd te bevestigen of de bestemming een filer of een map is.
Dit zal problemen opleveren, als u bestanden zonder toezicht of automatisch wilt kopiëren.


Xcopy - Bestanden uitsluiten

Als u een map naar een andere locatie wilt kopiëren, maar bepaalde bestanden wilt uitsluiten, kunt u de schakeloptie /EXCLUDE gebruiken
met de opdracht Xcopy. U moet de lijst van de uit te sluiten bestanden in een bestand zetten en dit bestand vervolgens specificeren met
de /EXCLUDE schakelaar.
Xcopy /I Sourcedir Destdir /EXCLUDE:filename

Voorbeeld:
Kopieer de map D:\docs naar E:\newdocs exclusief alle pdf- en mp3-bestanden:
C:\>type 1.txt
.pdf
.mp3
C:\>Xcopy D:\documenten E:\nieuwedocumenten /EXCLUDE:1.txt

U kunt ook de volledige namen van de bestanden opgeven. Elke bestandsnaam/patroon moet op een aparte regel staan.


Kopieer bestanden inclusief verborgen en systeembestanden.

De bovenstaande opdracht sluit verborgen en systeembestanden uit van kopiëren. Als u deze bestanden ook wilt kopiëren,
moet u de optie /H aan uw opdracht toevoegen. Het commando wordt dan:
Xcopy /S /I /E /H D:\data\documents E:\Nieuwe map\documents

De optie /E zorgt ervoor dat lege submappen naar de doelmap worden gekopieerd.

Met de optie /H worden ook verborgen en systeembestanden naar de doelmap gekopieerd.

Als u probeert een bestaand bestand te overschrijven, voeg dan de optie /Y toe, zodat u niet om bevestiging wordt gevraagd
voor het overschrijven van het bestand.


Bestanden kopiëren op basis van archiefkenmerk

Als u alleen bestanden wilt kopiëren met een archiefkenmerk, kunt u de schakelopties /A en /M gebruiken. Archiefkenmerk geeft aan
of het bestand is gewijzigd sinds het tijdstip waarop het kenmerk is ingesteld.
De opdracht hiervoor is:
Xcopy /A /I /S bron_directory doel_directory

De bovenstaande opdracht houdt het archiefkenmerk ingesteld; het reset het kenmerk niet.

Als u het archiefkenmerk opnieuw wilt instellen, kunt u de schakeloptie /M in plaats van /A gebruiken. De opdracht voor dit geval is:
Xcopy /M /I /S bron_directory doel_directory

De bovenstaande commando's kunnen ook vanuit batch-bestanden worden gebruikt.


Kopieer bestanden op basis van gewijzigde datum
Xcopy /D:dd-mm-jj /I brondir bestemmingdir

Voorbeeld: Om alle bestanden in de map 'E:data' die zijn gewijzigd op of na 1 februari 2011 te kopiëren naar de map 'E:\backup'.
Xcopy /D:01-02-11 /I E:\data E:\backup


Praktijkvoorbeelden:

Ik heb een heleboel .JPG-bestanden die in verschillende mappen staan met andere bestanden.
Ik wil alle .JPG-bestanden uitpakken (of gewoon kopiëren) in één map zonder de andere dingen.
Hoe kan ik dit doen?
Ik heb verschillende xcopy commando strings geprobeerd maar ik krijg nog steeds de bevattende mappen en de andere bestanden in die map.
Alvast bedankt.
Ik heb windows XP 64 bit.

U kunt de opdrachten move en forfiles gebruiken. Probeer het onderstaande opdracht:
forfiles /S /M *.JPG /C "cmd /c move @file c:\folder"


Goede tip die bijna altijd wordt gemist voor xcopy:

xcopy houdt niet van gesplitste directory/map of bestandsnamen, bijvoorbeeld : Documenten en instellingen
en dat zal een `invalid number of parameters' foutmelding geven -.

Zet de naam tussen aanhalingstekens: "Documenten en instellingen" - probleem opgelost


Bron


Back-up bestanden met Xcopy in opdrachtregel
 
Terug
Bovenaan Onderaan