beckslevel91
Goto Top

VB 6.0 - Ordnerzugriff auf Server

Hallo, ich habe folgendes Problem und hoffe, das mir jemand dabei helfen kann..

Ich soll mit VB 6.0 ein programm schreiben, dass Dateien von einem Server holt und umgekehrt (also kopiert).
Das Programm ist eigl fertig, aber wenn ich die Dateien kopieren will heißt es jedes mal "Runtime Error 76 - Path not found"

Die Ordner auf dem Server sind vorhanden, und auch auf dem PC existieren die angegebenen Verzeichnisse.
Ich würde jetzt eher ein Anmeldedialog von Windows erwarten, welches meine Benutzerkennung am Server erfragt, als ein "Path not found"...
woran könnte das liegen??

folgender Code soll die Dateien kopieren:

...


Dim FSO As New FileSystemObject
Dim Folder As Folder
Dim sPath As String

sPath = "\\server\verzeichnis"  
Set Folder = FSO.GetFolder(sPath)

Folder.Copy "C:\Testverzeichnis"  

...

MFG

J.R.

Content-Key: 130026

Url: https://administrator.de/contentid/130026

Printed on: April 25, 2024 at 00:04 o'clock

Member: Tommy70
Tommy70 Nov 23, 2009 at 12:16:13 (UTC)
Goto Top
Tritt das Problem auch auf wenn du "\\server\verzeichnis" einen laufwerksbuchstaben zuweist (z.bsp. U) und dann sPath = "u:\" verwendest.
Ich habe meistens diese Funktionen verwendet.
Member: beckslevel91
beckslevel91 Nov 23, 2009 at 12:39:13 (UTC)
Goto Top
Also ich hab es jetzt gelöst. Da ich nicht am Server angemeldet war (passiert via LoginBatch, wenn User-Laufwerke verbunden werden), hat er den Pfad nicht gefunden. Er fragt auch nicht nach Anmeldedaten sonder bricht einfach ab.

Gruß,

J.R.
Member: TsukiSan
TsukiSan Nov 24, 2009 at 04:03:24 (UTC)
Goto Top
Hallo beckslevel91,

es gibt bekannterweise etwas Probleme, will man mit dem FileSystemObject
Ordner kopieren, bzw. verschieben zwischen unterschiedlichen Partitionen/Netzwerkpfaden.
Aber man könnte tricksen und den Zielordner anlegen, nach dem gleichen Namen, wie der Quellordner und einfach alle Dateien aus dem Quellordner in den "neuen" Zielordner hineinkopieren.
Daten zu kopieren - selbst von einem Netzwerkpfad -bereitet dem FileSystemObject weniger Probleme.
Schnippsel in VB6:
Dim AblageOriginal, AblageKopie
    Set FSO = CreateObject("Scripting.FileSystemObject")  
    
    AblageOriginal = "\\Computername\Share"  
    AblageOriginalTemp = Split(AblageOriginal, "\")  
    AblageOriginalTemp1 = AblageOriginalTemp(UBound(AblageOriginalTemp))
    AblageKopie = "C:\Test\" & AblageOriginalTemp1  
    
    On Error Resume Next
    Set F = FSO.CreateFolder(AblageKopie)
    
    sFile = Dir$(AblageOriginal & "\*.*")  
    While sFile <> ""  
        Set F = FSO.getfile(AblageOriginal & "\" & sFile)  
        FSO.CopyFile F, AblageKopie & "\" & sFile, True  
        sFile = Dir$
    Wend
eventuell hilft dir dies erst einmal.
Und vielleicht hat jemand noch die passende Anwort auf deine Frage, warum das FileSystemObject ungern
\\Computername\Freigabe verarbeitet
Ich google mal.

Gruss
Tsuki