Ordner erstellen in VB

  • VB.NET

Es gibt 17 Antworten in diesem Thema. Der letzte Beitrag () ist von Sederic Enders.

    Samus Aran schrieb:

    weil er unter Umständen mehr als einen Aufruf an Objekte daraus macht.
    Dann ist die Directory-Klasse aber auch daneben.

    Ich weiß eh nicht, wieso kein Mensch die DirectoryInfo-Klasse und die FileInfo-Klasse verwendet.
    Son Info-Dingens repräsentiert gradezu vollkommen ein Directory bzw. ein File.

    Alle anneren Zugriffe aufs DateiSystem, ob nun aussm My-Namespace, ausse File-/Directory-Klasse oder gar aus Microsoft.Visualbasic sind phänomenal viel umständlicher und wahre Krüppel-Lösungen, weil sie immer nur dumme Strings liefern.

    An diese Info-Dinger kann man auch die Vorzüge von ObjektOrientierung erleben - vlt. gugge gar Keine Strings in die File-Listbox!

    Es gibt übrigens eine Ausnahme: File.ReadAllLines(filename) ist natürlich nicht zu toppen, wenn man eben mal alle Zeilen im String-Array haben will.
    nanu? Eben hießes noch:

    Samus Aran schrieb:

    weil er unter Umständen mehr als einen Aufruf an Objekte daraus macht.
    Und ich für mein Teil halte das auch für höchstwahrscheinlich, nämlich bevor man DirectoryInfo.Create() aufruft, testet man zunächst auf DirectoryInfo.Exists() - und damit hättemer bereits mehr als einen Aufruf, sodaß der Objektorientierte Ansatz sich gleich als bisserl praktischer erweist.

    TVX schrieb:

    Erstellt einen Ordner namens -MBR- auf c:\


    Was passiert aber, wenn man im Explorer auf fortsetzen und sowas klicken müsste...

    Was ich mein: ich muss in meinem Prog auch nen Ordner erstellen, wo man aber Admin-rechte dazu braucht... Wie bekomm ich die zumindest soweit, dass ich den Ordner auch auf C.\Program Files erstellen kann?

    hab gegoogelt und nix gefunden ;)
    Dann must du deinem Programm Admin rechte verleihen

    (( My Project )) Rechts

    dann auf der linken saite (( Anwendung ))

    Dann Windows Einstellungen



    Spoiler anzeigen

    VB.NET-Quellcode

    1. <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 'HIER DIE 3 DIE ZUR AUSWAHL STEHEN
    2. <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    3. <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
    4. Durch Angeben des requestedExecutionLevel-Knotens wird die Datei- und Registrierungsvirtualisierung deaktiviert.
    5. Wenn Sie Datei- und Registrierungsvirtualisierung für Abwärts-
    6. kompatibilität verwenden möchten, löschen Sie den requestedExecutionLevel-Knoten.
    7. -->
    8. <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 'DISEN MIT EINEN DER OBEREN 3 ERSETZEN
    9. </requestedPrivileges>
    10. </security>
    11. </trustInfo>



    LG ANDRE

    VB.NET-Quellcode

    1. Imports System.IO
    2. Public Class XXYY
    3. Dim DirName As String = "XXYYZZ"
    4. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    5. If Not Directory.Exists(DirName) Then
    6. Directory.CreateDirectory(DirName)
    7. ElseIf Directory.Exists(DirName) Then
    8. MessageBox.Show("Dieser Ordner existiert bereits! (Yada, yada, yadahh..)", "ProgrammXXYY", MessageBoxButtons.OK, MessageBoxIcon.Asterisk, MessageBoxDefaultButton.Button1)
    9. End If
    10. End Sub
    11. End Class
    Order auch einfach:

    VB.NET-Quellcode

    1. Dim diOrdner As New System.IO.DirectoryInfo("c:\applet")
    2. If Not diOrdner.Exists Then diOrdner.Create() Else MessageBox.Show("Der Ordner existiert bereits.")
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Spoiler anzeigen

    TVX schrieb:

    <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 'HIER DIE 3 DIE ZUR AUSWAHL STEHEN
    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
    Durch Angeben des requestedExecutionLevel-Knotens wird die Datei- und Registrierungsvirtualisierung deaktiviert.
    Wenn Sie Datei- und Registrierungsvirtualisierung für Abwärts-
    kompatibilität verwenden möchten, löschen Sie den requestedExecutionLevel-Knoten.
    -->
    <requestedExecutionLevel level="asInvoker" uiAccess="false" /> 'DISEN MIT EINEN DER OBEREN 3 ERSETZEN
    </requestedPrivileges>
    </security>
    </trustInfo>


    Ok danke!

    Aber wenn ne Anwendung Adminrechte verlangt, wirkt des doch verdächtig und außerdem ist des blöd, wenn die als Autostartanwendung läuft...
    Gibt es denn eine andere Möglichkeit erst nach Adminrechten zu fragen, wenn der Ordner wirklich erstellt wird und man dazu Rechte braucht? Weil ich muss den nur erstellen, wenns ihn nicht gibt und wenn eine Einstellung aktiviert ist...

    Geht das vllt mit dem hier? Das hat bei mir aber nicht funktioniert... msdn.microsoft.com/de-de/libra…orysecurity(v=vs.80).aspx
    Man könnte einen Umweg über ein Setup machen. Du lieferst einfach ein Setup(z.B. InnoSetup) mit, welches dir deine Dateien kopiert und Ordner erstellt. Außerdem kannst du dann gleich das Programm in den Autostart schieben.
    Mit freundlichen Grüßen,
    Thunderbolt