windows - Hvordan skriver jeg et batch script, der kopierer en mappe til en anden, erstatter gamle filer?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kan lide et batch script i Windows, som jeg kan kopiere en mappe til en anden. Hvis denne mappe allerede eksisterer, og derefter for hver fil, der allerede eksisterer i både med samme navn og sted, skal det overskrives, hvis det gøres findes ikke, det skal bare tilføjes.


I sidste ende bør det være et batch script, som jeg kan bestå 2 argumenter, kilde & bestemmelsessted.

Bedste reference


Gør dette i din batch-fil


set source=C:UsersHabib	est
set destination=C:UsersHabib	estdest
xcopy \%source\% \%destination\% /y


Hvis du vil kopiere undermapper herunder tomme mapper , skal du gøre:


xcopy \%source\% \%destination\% /E /y


Hvis du kun vil kopiere undermapper og ikke tomme mapper, så brug /s som:


xcopy \%source\% \%destination\% /s /y

Andre referencer 1


Det ser ud til at den seneste funktion til dette i Windows 7 er robokopi.


Anvendelseseksempel:


robocopy <source> <destination> /e /xf <file to exclude> <another file>


/e kopier underkataloger inklusive tomme,/xf udelukker visse filer fra at blive kopieret.


Flere muligheder her: http://technet.microsoft.com/en-us/library/cc733145(v=ws.10).aspx[11]

Andre referencer 2


Har du overvejet at bruge kommandoen 'xcopy'?


Kommandoen xcopy vil gøre alt det for dig.

Andre referencer 3


Prøv dette:


xcopy \%1 \%2 /y /e


\%1 og \%2 er de kilde- og destinationsargumenter, du sender til batchfilen. dvs. C:MyBatchFile.bat C:CopyMe D:ToHere

Andre referencer 4


Brug bare xcopy /y source destination