06. juni 2005 - 20:05Der er
25 kommentarer og 1 løsning
Jeg vil bruge atributer i CopyFolder
Jeg har lavet en lille program som faktisk er en backup program, den bruger jeg som i kan se den CopiFolder command, den er godt nok men ikke godt fordi jeg vil kun copierer de filer som er blevet ændret, jeg har brugt CopyFiles med den kan jeg ikke copierer, har nogen en god idé f.eks. hvis man kunne bruge atributter som i en Dos command? På forhånd tak. '************ Private Sub outlook() Sti = "C:\Documents and settings\Enric\Configuración local\datos de programa\Microsoft\Outlook" 'Mappe der kopieres FRA NySti = "c:\Sala-Escars Copies de Seguritat\Fra Sala-Escars\Outlook" 'Mappe der kopieres TIL Set FSO = CreateObject("Scripting.FileSystemObject") Command1.Caption = "Espera un moment............" FSO.CopyFolder Sti, NySti Set FSO = Nothing Command1.Caption = "La transferencia esta feta"
Private Sub Command1_Click() Sti = "C:\Documents and settings\Enric\Configuración local\datos de programa\Microsoft\Outlook" 'Mappe der kopieres FRA NySti = "c:\Sala-Escars Copies de Seguritat\Fra Sala-Escars\Outlook" 'Mappe der kopieres TIL Dim RetVal RetVal = Shell("XCOPY " & Sti & " " & NySti & " /a", 1)
Command1.Caption = "La transferencia esta feta" End Sub
'XCOPY kilde [destination] [/A | /M] [/D[:dato]] [/P] [/S [/E]] [/V] [/W] ' [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] ' [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] ' [/EXCLUDE:fil1[+fil2][+fil3]...] ' ' kilde Angiver filen eller filerne, der skal kopieres. ' destination Angiver placeringen af og/eller navnet på nye filer. ' /A Kopierer kun filer med arkivattributtet angivet, ' men ændrer ikke attributtet. ' /M Kopierer kun filer med arkivattributtet angivet, ' deaktiverer arkivattributtet. ' /D:m-d-å Kopierer filer ændret på eller efter den angivne dato. ' Hvis der ikke er angivet en dato, kopieres kun filer med ' et kildetidspunkt, der ligger efter destinationstidspunktet. ' /EXCLUDE:fil1[+fil2][+fil3]... ' Angiver en liste med filer, der indeholder strenge. Hver stren ' skal være på en separat linje i filerne. Hvis en af ' strengene svarer til en del af den absolutte sti til filen, ' der skal kopieres, kopieres filen ikke. Hvis der f.eks. ' angives en streng som \obj\ eller .obj, udelades alle filer ' under mappen obj eller alle filer med filtypenavnet .obj. ' /P Spørger, inden de enkelte destinationsfiler oprettes. ' /S Kopierer mapper og undermapper, dog ikke tomme mapper. ' /E Kopierer mapper og undermapper, også tomme mapper. ' Svarer til /S /E. Kan bruges til at ændre /T. ' /V Verificerer hver enkelt ny fil. ' /W Beder dig trykke på en tast, før der kopieres. ' /C Fortsætter kopieringen, selvom der opstår fejl. ' /I Hvis destinationen ikke findes, og der kopieres mere end én ' fil, tages der udgangspunkt i, at destinationen skal være en ' mappe. ' /Q Viser ikke filnavne under kopieringen. ' /F Viser kilde- og destinationsfilernes fulde navn under ' kopiering. ' /L Viser filer, der vil blive kopieret. ' /G Tillader kopiering af krypterede filer til en destination, som ' ikke understøtter kryptering. ' /H Kopierer også skjulte filer og systemfiler. ' /R Overskriver skrivebeskyttede filer. ' /T Opretter mappestruktur, men kopierer ikke filer. Medtager ' ikke tomme mapper eller undermapper. /T /E medtager ' tomme mapper og undermapper. ' /U Kopierer kun filer, der findes i destinationen i forvejen. ' /K Kopierer attributter. Normal Xcopy nulstiller attributter ' for skrivebeskyttet. ' /N Kopierer vha. de oprettede korte navne. ' /O Kopierer oplysninger om filens ejerskab og ACL. ' /X Kopierer indstillinger for filovervågning (/O er ' underforstået). ' /Y Undertrykker anmodning om at bekræfte, at filen må overskrive ' en eksisterende destinationsfil. ' /-Y Medfører anmodning om at bekræfte, at filen må overskrive en ' eksisterende destinationsfil. ' /Z Kopierer netværksfiler i genstartstilstand. ' 'Parameteren /Y kan være forudindstillet i miljøvariablen COPYCMD. 'Dette kan tilsidesættes ved at angive /-Y på kommandolinjen.
desværre jeg kan ikke få at fungere og det forstår jeg ikke for det er ren Dos command, man genkender ikke Retval heller ikke Sti og NySti, det vil sige at umidelbart, kører det ikke i Dos
kan nogen fortælle mig hvorfor den nedenstånde rutine ikke fungerer?
Private Sub Command1_Click() Dim RetVal Sti = "C:\Text_C" 'Mappe der kopieres FRA NySti = "E:\Text_E" 'Mappe der kopieres TIL RetVal = Shell("XCOPY " & Sti & " " & NySti & "/A /S ", 1) Command1.Caption = "La transferencia esta feta" End Sub ************** Den nedenstånde fungerer godt
heller ikke denne gang og når RetVal = Shell("xcopy c:\test_c e:\test_E /M /S", 1)fungerer så må det være en syntax fejl? tror du ?? Problemet er også at når den bliver udført i dos,man kan ikke se hvad syntaks fejl den gir, hvis man kunne se den så kunne der være en mulighed for at rette den op.
Efter mange mange timers slid og slæb fandt jeg ud af hvorfår rutine ikke fungere .... Grunden er at xcopy command er en dos command og den kan ikke fungere med de arkivnavne som er forkellige af dos (tror jeg) det vil sige at den kan ikke finde ud af det med mellemrum, hvis vi kaster ojnene over de tre rutine kan vi se en bekræftelse af det som jeg siger På forhånd tak ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Den rutine herunder fungerer fint
Private Sub Command1_Click() Sti = "C:\Test_C\A\B\C" 'Mappe der kopieres FRA NySti = "d:\Test_d\1\2" 'Mappe der kopieres TIL RetVal = Shell("xcopy " & Sti & " " & NySti & " /M /S", 1) End Sub ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Og den fungerer ikke
Private Sub Command1_Click() Sti = "C:\Test_C\A\B B\C" 'Mappe der kopieres FRA NySti = "d:\Test_d\1 1\2" 'Mappe der kopieres TIL RetVal = Shell("xcopy " & Sti & " " & NySti & " /M /S", 1) End Sub ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Den her herunder som faktisk er den rutine som jeg skal bruge, selfølgelig den fungerer heller ikke. Private Sub outlook() Sti = "C:\Documents and settings\Enric\Configuración local\datos de programa\Microsoft\Outlook" 'Mappe der kopieres FRA NySti = "c:\Sala-Escars Copies de Seguritat\Fra Sala-Escars\Outlook" 'Mappe der kopieres TIL Command1.Caption = "Espera un moment............" RetVal = Shell("XCOPY " & Sti & " " & NySti & " /M /S", 1) Command1.Caption = "La transferencia esta feta" End Sub
heller ikke den Private Sub Command1_Click() Sti = "C:\Test_C\A\ " & "B b" & "\C" 'Mappe der kopieres FRA NySti = "d:\Test_D\ " & "1 1" & "\2" 'Mappe der kopieres TIL RetVal = Shell("xcopy " & Sti & " " & NySti & " /M /S", 1) End Sub
Nu er jeg lige ved at opgive og når ingen kan hjælpe mig med opgaven med xcopy, så vil jeg bruge den nedenstående rutine, men det er ærgeligt at den nedenstående rutine kan jeg ikke bruge med attributer Tak Private Sub outlook() Sti = "C:\Documents and settings\Enric\Configuración local\datos de programa\Microsoft\Outlook" 'Mappe der kopieres FRA NySti = "c:\Sala-Escars Copies de Seguritat\Fra Sala-Escars\Outlook" 'Mappe der kopieres TIL Set FSO = CreateObject("Scripting.FileSystemObject") Command1.Caption = "Espera un moment............" FSO.CopyFolder Sti, NySti Set FSO = Nothing Command1.Caption = "La transferencia esta feta" End Sub
Jeg ved ikke hvordan du skal få poient, kan du fortælle mig det. Jeg har akcepteret men kan ikke se om du har fået point, kunne det være at du har kun kommentar og ikke svar
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.