Avatar billede flashit Nybegynder
06. januar 2003 - 13:19 Der er 18 kommentarer og
1 løsning

kopier filer

Hej E.

Jeg har følgende kode, som virker helt fint.

Private Sub Command2_Click()
Dim Fsys As New FileSystemObject

Fsys.CopyFolder "N:\Backup*", "C:\jakob", True

MsgBox "Filerne er nu kopieret"


End Sub

Mit problem er bare at den kopiere backup* folderen med over på c:, og det er kun indholdet af backup* jeg  vil have kopieret.
Avatar billede kabbak Professor
06. januar 2003 - 13:21 #1
Fsys.CopyFolder "N:\Backup\*.*", "C:\jakob", True
Avatar billede flashit Nybegynder
06. januar 2003 - 13:23 #2
ja, det troede jeg også, men det virker ikke
Avatar billede kabbak Professor
06. januar 2003 - 13:24 #3
det skulle være et svar
I dos bruger man Copy"N:\Backup\*.* /s", "C:\jakob"
ned "/s" får man også eventuelle undermapper med
Avatar billede flashit Nybegynder
06. januar 2003 - 13:25 #4
men det virker ikke i vb?

kan du da få det til at virke?
Avatar billede kabbak Professor
06. januar 2003 - 13:31 #5
Jeg har ikke VB installeret her, men i VBA kan man bruge shell komandoen.

shell"copy N:\Backup\*.* /s C:\jakob"
Avatar billede martin_moth Mester
06. januar 2003 - 13:44 #6
Hvis du kun vil have kopieret INDHOLDET af n:\Backup, hvorfor bruger du så CopyFOLDER?

Brug denne i stedet:

  Dim MyFolder As Folder
  Dim MyFolderFiles As Files
  Dim FSO As FileSystemObject
  Dim MyFile As File

  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set MyFolder = FSO.GetFolder("N:\Backup")
  Set MyFolderFiles = MyFolder.Files
 
  For Each MyFile In MyFolderFiles
      MyFile.Copy "C:\jakob"
  Next MyFile
Avatar billede flashit Nybegynder
06. januar 2003 - 13:56 #7
Sorry, men jeg får ikke kopieret noget over på c:
Avatar billede flashit Nybegynder
06. januar 2003 - 13:57 #8
ovenstående er rettet til martin morh
Avatar billede martin_moth Mester
06. januar 2003 - 14:19 #9
Ok - får også fejl "permission denied.

Denne her virker, er simplere og ligner mere dit eget forslag:

  Dim Sti As String
  Dim NySti As String
  Dim FSO As FileSystemObject
 
  Sti = "N:\Backup\" 'Mappe der kopieres FRA
  NySti = "C:\jakob\" 'Mappe der kopieres TIL
  Set FSO = CreateObject("Scripting.FileSystemObject")
  FSO.CopyFile Sti & "*.*", NySti
  Set FSO = Nothing

:o)
Avatar billede martin_moth Mester
06. januar 2003 - 14:20 #10
Svaret var altså at bruge CopyFILE og ikke CopyFOLDER :o)
Avatar billede flashit Nybegynder
06. januar 2003 - 14:38 #11
Ja, det virker, men den tager ikke mapper med.
Det tager ikke undermapperne med over på c:

????
Avatar billede martin_moth Mester
06. januar 2003 - 14:48 #12
Det vidste jeg ikke den skulle
Avatar billede flashit Nybegynder
06. januar 2003 - 14:50 #13
OK, men det skal den altså.
Kan det være rigtigt at man ikke kan indsætte et joker tegn efter et \ i vb, det ville nemlig kunne læse mit problem
Avatar billede martin_moth Mester
06. januar 2003 - 14:51 #14
Du ved allerede nu hvordan du skal kopiere filer fra en folder til en anden, hvordan du opretter en folder (If Not FSO.FolderExists("c:\enEllerAndenMappe") Then FSO.CreateFolder "c:\enEllerAndenMappe")

Det eneste du mangler er, at få loopet gennem ALLE dine mapper på N-drevet. Og vupti, det kan du se her:

http://www.planetsourcecode.com/xq/ASP/txtCodeId.3851/lngWId.1/qx/vb/scripts/ShowCode.htm

Så er det bare i gang med klippe-klistre og måske få omskrivninger. Held og lykke - det skal nok tage dig lidt tid, men du har alle smådelene nu ;o)
Avatar billede flashit Nybegynder
06. januar 2003 - 14:54 #15
Det er den jeg bruger til at få placeret indholdet på N:Backup, men jeg troede bare at man kunne bruge en god gammel dos komamdo til at kopirer filer når man nu viste hbor de var placeret.

Man det er et kanon link, jg det tog kun 2 timer at rette den til.

Her er lidt p for din hjælp.
Avatar billede martin_moth Mester
06. januar 2003 - 14:58 #16
PS: Man kunne også krybe til korset og bruge VB's udemærkede hjælp. Søg på CopyFolder Method, der står hvordan du kopiere en folder og alle dens SUBFOLDERE :o)

Men det er jo for nemt at kikke i hjælpen, he he ;o)
Avatar billede martin_moth Mester
06. januar 2003 - 15:01 #17
Du kan jo også bare bruge en shell-kommando som kabbak har foreslået. Men kik i ovenstående (VB-hjælp) - der kan du se, at du men en enkelt kommando på din FSO kan kopiere en folder og alle dens subfoldere.

Og at bruge FSO synes jeg personligt er ret så meget smartere end at bruge shell - og i øvrigt det du lægger op til.

PS: Ovenstående link (planetsourcekode) er nu ret godt i en masse andre sammenhænge...
Avatar billede flashit Nybegynder
06. januar 2003 - 15:02 #18
det kan jeg ikke da jeg ikke kan finde ud af at afinstallere msdn, der kommer nemlig en fejl når jeg trykker på F1, hvor den siger at jeg skal reinstallere msdn.....(/&(/#¤#!"¤
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
Kurser inden for grundlæggende programmering

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