Avatar billede 2400nv Nybegynder
15. marts 2003 - 10:37 Der er 16 kommentarer og
1 løsning

Sikker kopiering med xcopy

Hej
Jeg kunne godt tænke mig at lave en bat-fil som kopiere filer fra et drev til et andet. Jeg vil bare være sikker på alle filerne bliver kopieret.

Jeg har fundet dette på microsoft hjemmeside. Jeg mangler bare lidt hjælp til hvordan jeg bruger det.

http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/winxppro/proddocs/xcopy.asp

@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination

rem drive or directory (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C to end the copy operation.
goto exit

:exit
Avatar billede burningice Nybegynder
16. marts 2003 - 09:43 #1
hvad er det du ikke forstår ved koden??

som der står... %1 er de filer/mapper der skal kopiere og %2 er der hvor de skal kopieres hen
Avatar billede 2400nv Nybegynder
16. marts 2003 - 09:48 #2
Skal jeg bare indsætte noget i denne stil: "xcopy C: E:\backup /s /e" og så kører det?
Avatar billede burningice Nybegynder
16. marts 2003 - 09:52 #3
ja... eller hvis du smider koden i en batfil der hedder copyit skal du kalde den fra cmd på den her måde:

copyit c: e:\backup
Avatar billede 2400nv Nybegynder
16. marts 2003 - 09:57 #4
Kan jeg så nu være 100% sikker på, at ALLE mapper og filer bliver kopieret? Hvis der er en fil som er i brug og derved ikke kan kopieres, kommer der vel en fejlmeddelse?
Avatar billede burningice Nybegynder
16. marts 2003 - 10:01 #5
prøv at set /v flagget

/v
Verifies each file as it is written to the destination file to make sure that the destination files are identical to the source files.
Avatar billede 2400nv Nybegynder
16. marts 2003 - 10:08 #6
Skal jeg sætte flere? Hvad gør /v?
xcopy D: E:\backup /s /e /v
Avatar billede burningice Nybegynder
16. marts 2003 - 10:11 #7
2400nv>> prøv en gang at læs den side du selv linkede til... der står hvad alle de forskellige flags gør.

som jeg allerede har skrevet:

/v
Verifies each file as it is written to the destination file to make sure that the destination files are identical to the source files.
Avatar billede 2400nv Nybegynder
16. marts 2003 - 10:25 #8
Det kigger jeg lige på igang.

Virker det nu som det skal? Kommer der en fejlmeddelse, hvis ikke alle filer bliver kopieret?

xcopy D: E:\backup /s /e /v
Avatar billede burningice Nybegynder
16. marts 2003 - 11:06 #9
2400nv>> uhm.. jeg vil tro at den simpelthen stopper hvis den ikke kan kopiere en fil.. men det er jo bare at prøve
Avatar billede 2400nv Nybegynder
16. marts 2003 - 11:11 #10
Hvis er ikke er nogle fejlmeddelser, så der vel eller ikke være nogle fejl. Hvis jeg forstår det rigtigt!

Exit code Description
0 Files were copied without error.
1 No files were found to copy.
2 The user pressed CTRL+C to terminate xcopy.
4 Initialization error occurred. There is not enough memory or disk space, or you entered an invalid drive name or invalid syntax on the command line.
5 Disk write error occurred.
Avatar billede burningice Nybegynder
16. marts 2003 - 11:46 #11
uhm... det er exitkoder.. dvs. hvordan programmet lukkede. Så jo.. hvis programmet afslutter med kode 0, så gik det hele som det skulle. Hvis der er fejl med at kopiere filen vil jeg tro at programmet afslutter med kode 5
Avatar billede 2400nv Nybegynder
16. marts 2003 - 12:23 #12
Mangler der ikke exitkoder for 1 og 5 i bat-filen, eller hvad?

"Så jo.. hvis programmet afslutter med kode 0, så gik det hele som det skulle", så vi kan godt blive enig om, at ALT er blevet kopieret?
Avatar billede burningice Nybegynder
16. marts 2003 - 12:31 #13
bat filen er jo kun et EKSEMPEL... hvis du gerne vil have at exitkode 1 og 5 også skal fanges, så gør du jo bare det :)

ja... exitkode 0 betyder programmet udførte det den skulle uden fejl... altså kopierede alle de filer du bad den om.
Avatar billede 2400nv Nybegynder
16. marts 2003 - 13:02 #14
Det ser ud til at virke. Afprøver lige bat-filen et par gange til lidt senere i dag.

Hvis du har tid og lyst, kan du måske hjælpe mig med et andet spørgsmål:
http://www.eksperten.dk/spm/329347
Avatar billede burningice Nybegynder
16. marts 2003 - 13:12 #15
du siger bare til når den virker 1005 efter hensigten :)
Avatar billede 2400nv Nybegynder
16. marts 2003 - 13:15 #16
Det skal jeg nok gøre!!
Avatar billede 2400nv Nybegynder
23. marts 2003 - 09:23 #17
Det virker hvis nu, men løsningen med en log-fil er mere mig. Lukker dette spørgsmål.


@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination

rem drive or directory (%2)

xcopy %1 %2 /s /e

if errorlevel 5 goto Disk_write_error
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 1 goto No_files
if errorlevel 0 goto exit 

:Disk_write_error
echo Disk write error occurred
goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C to end the copy operation.
goto exit

:No_files
echo No files were found to copy
goto exit

:exit
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester