Datei/Ordner Berechtingung ?

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von Alteran.

    Datei/Ordner Berechtingung ?

    Hallo, Wie bekomme Ich die berechtigung um eine Datei oder einen Ordner zu erstellen :P ? Ich habe bis jetzt nur das :

    Quellcode

    1. Dim instance As Security.SecurityZone


    gefunden... aber das klappt leider nicht :(

    VB.NET-Quellcode

    1. .Attributes = {dein attribut}

    Damit lassen sich zum Beispiel auch die Schreibrechte entfernen (ich glaube das willst du machen), aber natürlich nur, wenn der User das Recht hat, die Schreibrechte zu entfernen (wenn du verstehst, was ich meine) :D
    Natürlich nicht, nur wenn der Ordner, in das es schreibt, vom System aus geschützt (bei Vista zb Programme-Ordner) oder der Ordner schreibgeschützt ist, dann musst du diese entfernen um in den Ordner schreiben zu können. Und damit so ein Schreibschutz Sinn macht, darf nicht jeder ihn aufheben können. Aber warum die Fragerei?
    Weil das bei Mir nicht geht :S :

    Quellcode

    1. Public Class Form1
    2. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    3. My.Computer.FileSystem.CreateDirectory(My.Computer.FileSystem.SpecialDirectories.Desktop + "test")
    4. My.Computer.FileSystem.WriteAllText(My.Computer.FileSystem.SpecialDirectories.Desktop + "test\" + "test2", "1234", True)
    5. End Sub
    6. End Class
    Du benutzt ja auch den My-Namespace. Lies mal genauer, kevin89 meinte, dass du die FileInfo und DirectoryInfo-Klassen (aus System.IO) verwenden musst. So sollte es gehen (als Admin kann man diesen Ordner trotzdem noch löschen!):

    VB.NET-Quellcode

    1. Dim DirInfo As New IO.DirectoryInfo(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) & "\Test")
    2. Dim Security As New Security.AccessControl.DirectorySecurity
    3. Security.SetAccessRule(New System.Security.AccessControl.FileSystemAccessRule("[DeinBenutzername]", System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles, System.Security.AccessControl.AccessControlType.Deny))
    4. DirInfo.Create(Security)


    Du kannst den Teil: System.Security.AccessControl.FileSystemRights.DeleteSubdirectoriesAndFiles, System.Security.AccessControl.AccessControlType.Deny natürlich noch ändern. Probier einfach mal.

    lg