Ordner auf Leseberechtigung fragen

  • VB.NET
  • .NET 4.5

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von EaranMaleasi.

    Ordner auf Leseberechtigung fragen

    Hallo. Ich wollte mit diesem CODE

    VB.NET-Quellcode

    1. For Each Datei In My.Computer.FileSystem.GetFiles(ComboBox1.Text + ":\", FileIO.SearchOption.SearchAllSubDirectories)
    2. ListBox1.Items.Add(Datei)
    3. Next

    das alle Dateien gelesen werden.
    Aber Lesegeschützte Ordner oder Dateien nicht. wie geht das? :)
    Danke

    Am besten schnelle Antwort

    Tizian
    Probleme kann man beheben,
    Fragen aber auch 8o

    Und wer das nicht kann, darf nicht Traurig sein! Frag doch´ mal!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Tizian170“ () aus folgendem Grund: EDIT: "Am besten schnelle Antwort"

    Definiere

    Tizian170 schrieb:

    Lesegeschützte Ordner oder Dateien
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Ich meinte Lesegeschützt.
    Der Zugriff auf den Pfad "c:\Documents and Settings" wurde verweigert.


    Und wie, @RodFromGermany ?
    Wie weit ich bin: 55%

    Was noch fehlt: 45%
    Probleme kann man beheben,
    Fragen aber auch 8o

    Und wer das nicht kann, darf nicht Traurig sein! Frag doch´ mal!

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „Tizian170“ ()

    try-catch?

    Edit:
    Es wundert mich das du davon noch nie gehört hast. VB-Paradise ist ja voll damit, und wir versuchen ständig dessen übergebrauch einzudämmen. Auch gut. Dann kannst du dir gleich Merken, dass du try-catch nur dort einsetzt, wo du tatsächlich einen Fehler auch behandeln willst, ihn also erwartest!

    Einfach nur try-catch global setzen führt dazu, dass dir VisualStudio keine Fehler mehr in entsprechenden Zeilen anzeigt.
    Post-AGB:
    §1 Mit dem Lesen dieses Posts stimmst du den AGB unverzüglich zu
    §2 Ein Widerruf muss innerhalb von 3 Sekunden nach Lesen des Hauptbestandteil des ersten jemals gelesenen Posts erfolgen
    Abs.1 Die Signatur zählt nicht zum Hauptbestandteil des Posts
    §3 Ein erfolgreicher Widerruf zwingt zu einem Besuch bei einem Hypnotiseur oder Neurochirurg, sodass der gelesene Text aus den Erinnerungen entfernt werden kann
    Abs.1 Die Kosten und Risiken sind jeweils selbst zu tragen
    ICH BIN ANFÄNGER! Bitte einen VB.NET-Code!
    Probleme kann man beheben,
    Fragen aber auch 8o

    Und wer das nicht kann, darf nicht Traurig sein! Frag doch´ mal!
    Aus Rekursive Dateisuche mit anonymer Methode :

    VB.NET-Quellcode

    1. Private Sub CollectFilesAndFolders(ByVal rootDirs As IEnumerable(Of DirectoryInfo), _
    2. ByVal folderCollector As ICollection(Of DirectoryInfo), _
    3. ByVal fileCollector As ICollection(Of FileInfo), _
    4. Optional ByVal pattern As String = "*.*")
    5. 'rekursive anonyme Methode
    6. Dim recurse As Action(Of IEnumerable(Of DirectoryInfo)) = _
    7. Sub(dirs As IEnumerable(Of DirectoryInfo))
    8. For Each dirinf In dirs
    9. Dim files As IEnumerable(Of FileInfo)
    10. Try
    11. files = dirinf.EnumerateFiles(pattern)
    12. Catch ex As UnauthorizedAccessException
    13. 'für manche Directories hat das Prog keine Rechte
    14. Continue For
    15. End Try
    16. For Each fileInf In files
    17. fileCollector.Add(fileInf)
    18. Next
    19. folderCollector.Add(dirinf)
    20. 'selbst-aufruf
    21. recurse(dirinf.EnumerateDirectories)
    22. Next
    23. End Sub
    24. 'anonyme Methode aufrufen
    25. recurse(rootDirs)
    26. End Sub
    Frage ist nun: Bringt dir dieser Code was?
    Empfehlung: guck dir das oben verlinkte Tut an - wenn ühaupt, dann bringt dich das weiter.



    Ansonsten wird man hier schnell angeschnauzt wenn man konkret nach Codebeispielen fragt. Weil viele die so fragen/erwarten sind unwillig, programmieren zu lernen, und lassen quasi für sich programmieren (oder hätten das gerne, was allerdings nur unrealistisch ist, unverschämt und Zeitverschwendung)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „ErfinderDesRades“ ()

    @Tizian170 Ohne Eigeninitiative C&P-Code abgreifen, den Du dann nicht verstehst. ;(
    Wie ist Dein aktueller Stand?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    VB-Fragen über PN / Konversation werden ignoriert!
    Gib doch einfach mal "try-catch VB.NET" in Google ein.
    Dadurch solltest du entweder in der noch existierenden "MSDN" landen, oder in den neueren "Microsoft Docs".
    Dort wiederum findest du neben viel technischen Code auch Beispiele wie try-catch anzuwenden ist.
    Und wenn es keine von diesen Seiten ist, dann vielleicht sogar noch besser, denn dort ist i.d.R. ein wesentlich einfacheres Beispiel hinterlegt.
    Aber ich nehm dir einfach mal die Arbeit ab, mit der Programmierer rund 50%-90% ihrer Arbeitszeit zubringen, wenn sie sich in ein neues Thema einarbeiten : Recherche

    VB.NET-Quellcode

    1. Try
    2. 'DoStuff
    3. 'DoOtherStuff
    4. Catch ex As UnauthorizedAccessException
    5. 'DoStuffToPreventAppCrash
    6. End Try

    Mehr kann ich dir leider nicht geben, denn ich weiß ja nicht was du so alles machen möchtest. Jedoch sollst du ja auch noch etwas spaß am Programmieren haben. Wäre ja unfair wenn ich dir alles abnehmen würde.
    Post-AGB:
    §1 Mit dem Lesen dieses Posts stimmst du den AGB unverzüglich zu
    §2 Ein Widerruf muss innerhalb von 3 Sekunden nach Lesen des Hauptbestandteil des ersten jemals gelesenen Posts erfolgen
    Abs.1 Die Signatur zählt nicht zum Hauptbestandteil des Posts
    §3 Ein erfolgreicher Widerruf zwingt zu einem Besuch bei einem Hypnotiseur oder Neurochirurg, sodass der gelesene Text aus den Erinnerungen entfernt werden kann
    Abs.1 Die Kosten und Risiken sind jeweils selbst zu tragen