如果不存在,如何在VB中创建文件夹?

时间:2008-09-17 18:10:26

标签: vb.net install directory

我给自己写了一个小小的下载应用程序,这样我就可以轻松地从我的服务器中获取一组文件,并将它们全部放到一台干净安装Windows的新电脑上,而无需实际上网。不幸的是我在创建我想要放入的文件夹时遇到了问题,我不确定如何去做。

我希望我的程序将应用下载到program files\any name here\

所以基本上我需要一个检查文件夹是否存在的函数,如果没有则创建它。

12 个答案:

答案 0 :(得分:147)

If(Not System.IO.Directory.Exists(YourPath)) Then
    System.IO.Directory.CreateDirectory(YourPath)
End If

答案 1 :(得分:20)

在System.IO下,有一个名为Directory的类。 执行以下操作:

If Not Directory.Exists(path) Then
    Directory.CreateDirectory(path)
End If

它将确保目录在那里。

答案 2 :(得分:11)

由于问题没有指定.NET,因此这应该适用于VBScript或VB6。

Dim objFSO, strFolder
strFolder = "C:\Temp"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strFolder) Then
   objFSO.CreateFolder(strFolder)
End If

答案 3 :(得分:10)

尝试System.IO.DirectoryInfo课程。

来自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

答案 4 :(得分:5)

试试这个:Directory.Exists(TheFolderName)Directory.CreateDirectory(TheFolderName)

(您可能需要:Imports System.IO

答案 5 :(得分:5)

VB.NET? System.IO.Directory.Exists(字符串路径)

答案 6 :(得分:4)

Directory.CreateDirectory()应该这样做。 http://msdn.microsoft.com/en-us/library/system.io.directory.createdirectory(VS.71).aspx

另外,在Vista中,你可能无法直接写入C:除非你以管理员的身份运行它,所以你可能只想绕过它并在C的子目录中创建你想要的目录:(我是不管怎么说,这是一个很好的做法。 - 令人难以置信的是,有多少人只是把废话扔到C上:

希望有所帮助。

答案 7 :(得分:4)

(导入System.IO)

if Not Directory.Exists(Path) then
  Directory.CreateDirectory(Path)
end if

答案 8 :(得分:3)

If Not Directory.Exists(somePath) then
    Directory.CreateDirectory(somePath)
End If

答案 9 :(得分:1)

您应该尝试使用文件系统对象或FSO。有许多属于此对象的方法,用于检查文件夹是否存在以及创建新文件夹。

答案 10 :(得分:0)

我看到这是如何工作的,创建一个允许用户命名文件夹并将其放在你想要的位置的对话框的过程是什么。

干杯

答案 11 :(得分:0)

这样做:

        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

我将文件夹路径声明为String(sPath),这样如果多次使用它就可以轻松更改,但也可以通过程序本身进行更改。

希望它有所帮助!

-nfell2009