Wie kann ich einen Ordner in VB erstellen, wenn es nicht existiert?
Frage
Ich schrieb mir eine wenig Download-Anwendung, so dass ich einfach eine Reihe von Dateien von meinem Server greifen könnte und sie alle auf einen neuen PC mit einer sauberen setzener Installation von Windows, ohne tatsächlich auf dem Netz zu gehen. Ich habe Probleme Erstellen der Ordner Ich möchte sie in setzen und bin leider nicht sicher, wie man das macht.
Ich möchte mein Programm die Apps zum Download program files\any name here\
Also im Grunde muss ich eine Funktion, die prüft, ob ein Ordner vorhanden ist, und wenn es nicht schafft es.
Lösung
If(Not System.IO.Directory.Exists(YourPath)) Then
System.IO.Directory.CreateDirectory(YourPath)
End If
Andere Tipps
Unter System.IO gibt es eine Klasse namens Directory. Gehen Sie folgendermaßen vor:
If Not Directory.Exists(path) Then
Directory.CreateDirectory(path)
End If
Sie wird dafür sorgen, dass das Verzeichnis vorhanden ist.
Da die Frage .NET hat nicht angegeben, sollte dies in VBScript oder VB6 arbeiten.
Dim objFSO, strFolder
strFolder = "C:\Temp"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolder) Then
objFSO.CreateFolder(strFolder)
End If
Versuchen Sie, die System.IO.DirectoryInfo Klasse .
Die Probe von MSDN:
Imports System
Imports System.IO
Public Class Test
Public Shared Sub Main()
' Specify the directories you want to manipulate.
Dim di As DirectoryInfo = New DirectoryInfo("c:\MyDir")
Try
' Determine whether the directory exists.
If di.Exists Then
' Indicate that it already exists.
Console.WriteLine("That path exists already.")
Return
End If
' Try to create the directory.
di.Create()
Console.WriteLine("The directory was created successfully.")
' Delete the directory.
di.Delete()
Console.WriteLine("The directory was deleted successfully.")
Catch e As Exception
Console.WriteLine("The process failed: {0}", e.ToString())
End Try
End Sub
End Class
VB.NET? System.IO.Directory.Exists (string path)
Versuchen Sie folgendes: Directory.Exists(TheFolderName)
und Directory.CreateDirectory(TheFolderName)
(Möglicherweise müssen: Imports System.IO
)
Directory.CreateDirectory () sollte es tun. http://msdn.microsoft .com / de-de / library / system.io.directory.createdirectory (VS.71) aspx
Auch in Vista, können Sie wahrscheinlich nicht in C schreiben: direkt, wenn Sie es als Administrator ausführen, so möchten Sie vielleicht nur, dass umgehen und erstellen Sie das Verzeichnis Sie in einem Unterverzeichnis von C wollen: (die i‘ d sagen ist sowieso zu eine gute Praxis, gefolgt - es ist unglaublich, wie viele Leute nur Mist auf C-Dump.
Ich hoffe, das hilft.
(Importe System.IO)
if Not Directory.Exists(Path) then Directory.CreateDirectory(Path) end if
If Not Directory.Exists(somePath) then
Directory.CreateDirectory(somePath)
End If
Sie sollten versuchen, das Dateisystemobjekt oder FSO verwenden. Es gibt viele Methoden, um dieses Objekt gehören, die überprüfen, ob Ordner vorhanden sind sowie neue Ordner erstellen.
Ich sehe, wie dies funktionieren würde, was der Prozess würde ein Dialogfeld zu erstellen, die der Benutzer den Namen des Ordners erlaubt und es zu platzieren, wo Sie wollen.
Prost
Just dies zu tun:
Dim sPath As String = "Folder path here"
If (My.Computer.FileSystem.DirectoryExists(sPath) = False) Then
My.Computer.FileSystem.CreateDirectory(sPath + "/<Folder name>")
Else
'Something else happens, because the folder exists
End If
erklärte ich den Ordnerpfad als String (sPath), so dass die Art und Weise, wenn Sie sie verwenden mehrere Male kann es leicht geändert werden, sondern kann auch durch das Programm selbst
geändert werden.Hoffe, es hilft!
-nfell2009