Windows Tip: Sådan kopieres filer uden at overskrive dem i kommandolinjen

Hvis du kopierer filer ved at bruge træk-slip eller kopiere / indsætte, kan du simpelthen vælge "Spring over denne fil" eller "Spring over disse filer" for ikke at overskrive de filer, der allerede eksisterede i destinationsmappen.

Eller, hvis du bruger kommandolinje kopiere, kan du svare N for at omgå disse filer, der allerede eksisterede.

Men hvordan kan jeg gøre det samme gennem en batch-fil ved hjælp af en kopi-kommandolinje?

Der er to måder at gøre det på.

Du kan enten bruge IF erklæring om at kopiere filen kun, når filen ikke findes i destinationen.

HVIS IKKE BESTEMT "topathfilename" COPY "frompathfil" "topathfil"

En ven af ​​NoW, Glenn Reimche, delte en meget bedre måde at bruge kopiere kommandolinjen uden IF-erklæringen.

echo n | kopi / -y "frompathfile" "topathfile"

Hvis du har brug for at kopiere en mappe til et andet sted, men ikke overskrive filerne, der allerede eksisterede på den nye placering, er det her, hvad du kan gøre.

FOR% f i ("frompathfile *. *) GØR, hvis ikke EXIST" topath% ~ nxf "COPY" frompathfile "" topathfile "

Den % ~ Nx i kommandoen er at fjerne mappen info fra variablen %f så du får kun filnavnet som resultat.

Eller brug en meget kraftig kopi kommandolinje alternativ i stedet, dvs. robocopy.

Du kan bruge følgende switches til at springe over bestemte filer.

/ xc - ekskluder ændrede filer / xn - ekskluder nyere filer / xo - ekskluder ældre filer

For eksempel at kopiere alle filer fra mappe A til mappe B undtagen alle filer, der har den nyere tidsstempel.

robocopy frompath topath / s / xn

Håber det hjælper og vær venlig at dele, hvis du har en bedre løsning.

Kilde

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.