30. august 2000 - 12:36Der 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
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.
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
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
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
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
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
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
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
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 :-)
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.