it-swarm-vi.tech

Làm cách nào để tạo thư mục trong VB nếu nó không tồn tại?

Tôi đã viết cho mình một ứng dụng tải xuống nhỏ để tôi có thể dễ dàng lấy một tập tin từ máy chủ của mình và đặt tất cả chúng vào một máy tính mới với bản cài đặt Windows sạch mà không cần thực sự lên mạng. Thật không may, tôi gặp vấn đề khi tạo thư mục mà tôi muốn đặt chúng vào và không chắc chắn cách thực hiện.

Tôi muốn chương trình của mình tải xuống ứng dụng về program files\any name here\

Vì vậy, về cơ bản tôi cần một chức năng kiểm tra nếu một thư mục tồn tại, và nếu nó không tạo ra nó.

50
John
If(Not System.IO.Directory.Exists(YourPath)) Then
    System.IO.Directory.CreateDirectory(YourPath)
End If
149
Quintin Robinson

Trong System.IO, có một lớp gọi là Directory. Làm như sau:

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

Nó sẽ đảm bảo rằng thư mục ở đó.

22
MagicKat

Vì câu hỏi không chỉ định .NET, nên câu hỏi này sẽ hoạt động trong VBScript hoặc VB6.

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

Hãy thử lớp System.IO.DirectoryInfo .

Mẫu từ 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
10
Guy Starbuck

Hãy thử điều này: Directory.Exists(TheFolderName)Directory.CreateDirectory(TheFolderName)

(Bạn có thể cần: Imports System.IO)

5
GEOCHET

VB.NET? System.IO.Directory.Exists (đường dẫn chuỗi)

5
Chris Bilson

Directory.CreateDirectory () nên làm điều đó. http://msdn.Microsoft.com/en-us/l Library/system.io.directory.createdirectory (VS.71) .aspx

Ngoài ra, trong Vista, bạn có thể không thể viết trực tiếp vào C: trừ khi bạn chạy nó với tư cách quản trị viên, vì vậy bạn có thể chỉ muốn bỏ qua điều đó và tạo thư mục bạn muốn trong thư mục con của C: (mà tôi muốn nói là một cách thực hành tốt để được theo dõi bằng mọi cách. - thật không thể tin được có bao nhiêu người chỉ đổ rác vào C:

Mong rằng sẽ giúp.

4
Mostlyharmless

(nhập System.IO)

if Not Directory.Exists (Path) thì [.__.] Directory.CreateDirectory (Path) [.__.] kết thúc nếu
4
Wayne
If Not Directory.Exists(somePath) then
    Directory.CreateDirectory(somePath)
End If
3
PyongYang

Bạn nên thử sử dụng Đối tượng hệ thống tệp hoặc FSO. Có nhiều phương thức thuộc đối tượng này kiểm tra xem các thư mục có tồn tại cũng như tạo các thư mục mới hay không.

1
Dave

Chỉ cần làm điều này:

        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

Tôi đã khai báo đường dẫn thư mục là một Chuỗi (sPath) để theo cách đó nếu bạn sử dụng nó nhiều lần thì nó có thể được thay đổi dễ dàng nhưng cũng có thể thay đổi thông qua chính chương trình.

Hy vọng nó giúp!

-nfell2009

0
BaeFell

Tôi thấy cách thức hoạt động của nó, quá trình tạo hộp thoại cho phép người dùng đặt tên thư mục và đặt nó ở nơi bạn muốn.

Chúc mừng

0
Andrew