Avatar billede bennetsen Nybegynder
30. august 2000 - 12:36 Der er 18 kommentarer og
2 løsninger

flyt alle filer/mapper fra et sted til et andet sted

Hej
Hvordan flytter man alle filer/mapper fra et sted til et andet sted f.eks. c:\\test til d:\\test1\\test
Jeg har fundet noget her:http://www.eksperten.dk/spm/4646 , men det er Delphi kode.
Jeg bruger VB6 under win98/win2000

På forhånd tak
Avatar billede sjensen Nybegynder
30. august 2000 - 13:51 #1
du kan bruge windows API kaldet MoveFile (MoveFileEx for W2K)

I det eks. du henviser til vises CopyFile (CopyFileEx for W2K) og principielt virker MoveFile på samme måde.
Avatar billede bennetsen Nybegynder
30. august 2000 - 14:17 #2
Hej sjensen
Jeg er ny i VB, Kunne du ikke smide lidt kode med og du har 250 point.
Avatar billede sjensen Nybegynder
30. august 2000 - 14:21 #3
Det ville jeg gerne men VB er heller ikke min stærke side (jeg er til Delphi) så jeg er ikke p.t. istand til at give dig en kode der virker. Men jeg skal prøve at finde ud af noget.
Avatar billede irve Praktikant
30. august 2000 - 14:23 #4
Du kan gøre det på 2 måder.
1.  Bruge VB\'s FileCopy og Kill eller Name
1\'eren kræver at du løber igennem alle underbiblioteker.

2.  FileSystemObject og bruge MoveFolder
Fra MSDN:
Sub MoveAFolder(Drivespec)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  fso.MoveFolder Drivespec, TilFolderNavn
End Sub

Avatar billede bennetsen Nybegynder
30. august 2000 - 14:46 #5
Kan jeg bruge dit 2. eks. i VB?
Det ligner vbscript til ASP eller lign.

Jeg prøvede men fik fejl i 3.linie

Private Sub Command2_Click()
Dim filesys
Set filesys = CreateObject(\"Scripting.FileSystemObject\")
If filesys.FolderExists(\"d:\\vb-menu\\\") Then
  filesys.MoveFolder \"d:\\vb-menu\\\", \"f:\\vb-menu\\\"
End If
End Sub
Avatar billede irve Praktikant
30. august 2000 - 14:53 #6
Du skal lige huske at sætte Menu: Projects - References - Microsoft Scripting Runtime
Ellers vil det ikke virke.
Avatar billede winkill Nybegynder
30. august 2000 - 16:19 #7
Menu -> Project -> References -> Microsoft Scripting Runtime skal markeres.

Public Sub MoveFilder(SourcePath As String, DestinationPath As String)
  Dim fso As New FileSystemObject
  If fso.FolderExists(SourcePath) Then fso.MoveFolder SourcePath, DestinationPath
End Sub
Avatar billede winkill Nybegynder
30. august 2000 - 16:21 #8
Ups, jeg glemte lige...

Set fso = Nothing

lige inden End Sub
Avatar billede irve Praktikant
30. august 2000 - 16:23 #9
Hvordan kan du afvise mit svar, når det er det du vil bruge....????

Virker det ikke eller hva´ ?
Avatar billede bennetsen Nybegynder
30. august 2000 - 18:00 #10
Jeg ville gerne give jer begge (irve, winkill) point, men jeg kan ikke få skidtet til at virke. jeg er ikke i tvivl om at det er mig der laver ged i den, men hvad?

Jeg har sat flueben i \"Microsoft Scripting Runtime\"

Jeg bruger følgende kode:

Private Sub Command2_Click()
Dim filesys
Set filesys = CreateObject(\"Scripting.FileSystemObject\")
If filesys.FolderExists(\"D:\\vb-menu\\\") Then
  filesys.MoveFolder \"D:\\vb-menu\", \"F:\\vb-menu\\\"
End If
filesys = Nothing
End Sub

Hvad gør jeg galt ??
Avatar billede bennetsen Nybegynder
30. august 2000 - 18:01 #11
Jeg glemte fejlen

Runtime error 70
Permission denied
Avatar billede winkill Nybegynder
30. august 2000 - 18:04 #12
Med udgangspunkt i den kode du har postet...

Private Sub Command2_Click()
Dim filesys
Set filesys = CreateObject(\"Scripting.FileSystemObject\")
If filesys.FolderExists(\"D:\\vb-menu\\\") Then
  filesys.MoveFolder \"D:\\vb-menu\", \"F:\\\"
End If
filesys = Nothing
End Sub

;-)
Avatar billede winkill Nybegynder
30. august 2000 - 18:07 #13
Public Sub MoveFilder(SourcePath As String, DestinationPath As String)
  Dim fso As New FileSystemObject
  If Not fso.FolderExists(SourcePath) Then MsgBox \"Kilde mappen \"\"\" & SourcePath & \"\"\" eksisterer ikke.\" : Set fso = Nothing : Exit Sub
  If Not fso.FolderExists(DestinationPath) Then MsgBox \"Destinations mappen \"\"\" & DestinationPath & \"\"\" eksisterer ikke.\" : Set fso = Nothing : Exit Sub
  fso.MoveFolder SourcePath, DestinationPath
  Set fso = Nothing
End Sub
Avatar billede bennetsen Nybegynder
30. august 2000 - 18:08 #14
Jeg får stadigvæk samme fejl :-)
Er det noget med Win2000 ?
Avatar billede winkill Nybegynder
30. august 2000 - 19:13 #15
Følgende virker på min Windows 2000 - både på Proffesional og på Advanced Server.

Private Sub Form_Load()
    MkDir(\"c:\\test\")
    MkDir(\"c:\\til\")
    Call MoveFolder(\"c:\\test\", \"c:\\til\\test\")
End Sub

Public Sub MoveFolder(SourcePath As String, DestinationPath As String)
  Dim fso
  Set fso = CreateObject(\"Scripting.FileSystemObject\")
  If Not fso.FolderExists(SourcePath) Then MsgBox \"Kilde mappen \"\"\" & SourcePath & \"\"\" eksisterer ikke.\": Set fso = Nothing: Exit Sub
  fso.MoveFolder SourcePath, DestinationPath
  Set fso = Nothing
End Sub
Avatar billede winkill Nybegynder
30. august 2000 - 19:15 #16
Hvis det ikke virker så check hvilken slags drev dit f: drev er. Det skulle helst hverken være CD, DVD, gramofon ;-) eller netværksdrev.
Avatar billede bennetsen Nybegynder
30. august 2000 - 19:41 #17
Jeg har accepteret jer begge, så I må dele de point der er. Winkill - dit script virker efter det jeg har formuleret i mit spørgsmå, men mit problem er at jeg skal kopiere en bestemt mappe fra en WinNT server til brugerens maskine. Samtidigt skal mappen være væk, så ikke andre kan rette i den, mens den bliver brugt.
Ligeledes skal der oprettes en kopi af mappen et andet sted, mens brugeren arbejder. Når brugeren er færdig med sit arbejde skal mappen tilbage til Serveren og sikkerhedskopien skal slettes.
Dette mente jeg var en lille let ting :-)

Hvis I kan løse dette er der flere point
Avatar billede winkill Nybegynder
30. august 2000 - 19:43 #18
Jeg ser lige på det...
Avatar billede irve Praktikant
31. august 2000 - 08:49 #19
Du er sikker på du har rettigheder på både D og F, eller at den bruger der kører det har?
Avatar billede bennetsen Nybegynder
31. august 2000 - 09:57 #20
Ja - rettighederne er på plads
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

Seneste spørgsmål Seneste aktivitet
I går 21:00 Libre Office Impress Af Frank i Andre styresystemer
I går 11:47 VB script Af Jenshentze i Word
I går 11:21 Popup ved opstart Af mort1 i Windows
04/0918:50 Slet lokal konto Af ErikHg i Windows
04/0916:05 Ændre tal i en celle Af xvid i Excel