Zugriff verweigert // Laufzeitfehler 70

  • VBScript

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von J.Herbrich.

    Zugriff verweigert // Laufzeitfehler 70

    Hallo Zusammen,

    ich habe bereits einen Kopiervorgang von einem Ordner zum anderen.

    Nun schleicht sich ein Fehler ein, den ich nicht gelöst bekomme. Da ich Dateien von einem Netzwerklaufwerk kopiere, dachte ich es könnte daran liegen. Jedoch tritt der Fehler nur auf , wenn ich Dateien aus einem Unterodner kopieren will. Laufzeitfehler 70 Zugriff verweigert. Nun habe ich den Schreibschutz und Freigaben eingerichtet. Hat nichts gebracht. Was mich wundert. Kopiere ich Dateien aus dem Hauptordner , funktioniert das. Sobald ich auf einen unterordner zugreifen will kommt der Fehler.

    Muss ich einen bestimmten Befehl für den Kopiervorgang angeben, weil ich auf Unterordner zugreife?

    Viele Grüße und danke für jede Antwort

    Visual Basic-Quellcode

    1. Private Sub CommandButton2_Click()
    2. Dim fso As Object, f1 As Object, f2 As Object
    3. Dim ordner1 As String, ordner2 As String, ordner3 As String, ordner4 As String
    4. Const Ziel = "C:\Zielordner\"
    5. Const Ziel1 = "C:\Zielordner\1"
    6. Const Ziel2 = "C:\Zielordner\2"
    7. ordner1 = "C:\exceltemp"
    8. ordner3 = "C:\exceltemp\1"
    9. ordner4 = "C:\exceltemp\2"
    10. ordner2 = "c:\Quelle"
    11. Set fso = CreateObject("Scripting.FileSystemObject")
    12. If fso.FolderExists(ordner1) And fso.FolderExists(ordner2) Then
    13. Set f1 = fso.GetFolder(ordner1)
    14. Set f2 = fso.GetFolder(ordner2)
    15. If f1.Files.Count = f2.Files.Count And _
    16. f1.SubFolders.Count = f2.SubFolders.Count And _
    17. f1.Size = f2.Size Then
    18. For Each oFile In fso.GetFolder(ordner1).Files
    19. If Not (InStr(1, fso.GetFileName(oFile.Path), "ERR", 1) > 0) Then
    20. fso.CopyFile oFile.Path, Ziel
    21. Else
    22. MsgBox "Ordner sind nicht gleich 11111"
    23. End If
    24. Next
    25. For Each oFile In fso.GetFolder(ordner3).Files
    26. If Not (InStr(1, fso.GetFileName(oFile.Path), "ERR", 1) > 0) Then
    27. fso.CopyFile oFile.Path, Ziel1
    28. Else
    29. MsgBox "Ordner sind nicht gleich 2222"
    30. End If
    31. Next
    32. For Each oFile In fso.GetFolder(ordner4).Files
    33. If Not (InStr(1, fso.GetFileName(oFile.Path), "ERR", 1) > 0) Then
    34. fso.CopyFile oFile.Path, Ziel2
    35. Else
    36. MsgBox "Ordner sind nicht gleich 33333"
    37. End If
    38. Next
    39. End If
    40. End If
    41. Set fso = Nothing
    42. End Sub
    Hallo,

    VBS hat kein CommandButtonX_Click. Ich sehe kein Netzwerkpfad.

    Einmal hast Du hinter Ziel noch ein Backslash und einmal nicht. <-- Hier würde ich anfangen zu suchen.
    Gruß
    Peterfido

    Keine Unterstützung per PN!
    Hi, danke für die Antwort. Ich mach mich mal auf die Fehlersuche.
    Der obere VB-Code Ausschnitt war ein Test bei dem ich schauen wollte , ob der Fehler auch auftritt wenn ich lokale Ordner anspreche.

    Ich greife normalerweise auf J zu , welches ein Netzwerklaufwerk ist

    Visual Basic-Quellcode

    1. Dim fso As Object, f1 As Object, f2 As Object
    2. Dim ordner1 As String, ordner2 As String, ordner3 As String, ordner4 As String
    3. Const Ziel = "C:\Zielordner\"
    4. Const Ziel1 = "C:\Zielordner\1"
    5. Const Ziel2 = "C:\Zielordner\2"
    6. ordner1 = "J:\DAS\exceltemp"
    7. ordner3 = "J:\DAS\exceltemp\1"
    8. ordner4 = "J:\DAS\exceltemp\2"
    9. ordner2 = "c:\Quelle"



    Tatsache. Es lag daran, dass bei "Ziel" der Backslash gefehlt hat.

    Danke sehr!
    Netzwerk Laufwerke laufen in Context des Benutzers, läuft der Scripthost iwo anders (SYSTEM,NETWERKDIENST,etc...) müsstest du vorher mit net use hand anlegen. (Ebenfalls im Script). In VB.NET hast du für sowas glaube ich den Shell() befel.

    LG, J Herbrich