كيف أقوم بإنشاء مجلد في VB إذا لم يكن موجوداً؟

StackOverflow https://stackoverflow.com/questions/85996

  •  01-07-2019
  •  | 
  •  

سؤال

لقد كتبت لنفسي تطبيقًا صغيرًا للتنزيل حتى أتمكن بسهولة من الحصول على مجموعة من الملفات من الخادم الخاص بي ووضعها جميعًا على جهاز كمبيوتر جديد مع تثبيت نظيف لنظام التشغيل Windows، دون الانتقال فعليًا إلى الشبكة.لسوء الحظ، أواجه مشكلات في إنشاء المجلد الذي أريد وضعهم فيه ولست متأكدًا من كيفية القيام بذلك.

أريد أن يقوم برنامجي بتنزيل التطبيقات على program files\any name here\

لذا، أحتاج في الأساس إلى وظيفة تتحقق من وجود المجلد، وإذا لم يكن موجودًا، فإنها تقوم بإنشائه.

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

ضمن System.IO، هناك فئة تسمى الدليل.قم بما يلي:

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

سيضمن وجود الدليل.

نظرًا لأن السؤال لم يحدد .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

جرب ال 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

VB.NET؟System.IO.Directory.Exists (مسار السلسلة)

جرب هذا: Directory.Exists(TheFolderName) و Directory.CreateDirectory(TheFolderName)

(قد تحتاج إلى: Imports System.IO)

يجب أن يقوم Directory.CreateDirectory() بذلك.http://msdn.microsoft.com/en-us/library/system.io.directory.createdirectory(VS.71).aspx

أيضًا، في نظام التشغيل Vista، ربما لا يمكنك الكتابة في لغة C:مباشرة ما لم تقم بتشغيله كمسؤول، لذلك قد ترغب فقط في تجاوز ذلك وإنشاء الدليل الذي تريده في دليل فرعي لـ C:(والتي أود أن أقول إنها ممارسة جيدة يجب اتباعها على أي حال.- إنه أمر لا يصدق عدد الأشخاص الذين يقومون بإلقاء الفضلات على لغة C:

امل ان يساعد.

(الواردات System.IO)

if Not Directory.Exists(Path) then
  Directory.CreateDirectory(Path)
end if
If Not Directory.Exists(somePath) then
    Directory.CreateDirectory(somePath)
End If

يجب أن تحاول استخدام كائن نظام الملفات أو FSO.هناك العديد من الطرق التي تنتمي إلى هذا الكائن والتي تتحقق من وجود المجلدات وكذلك إنشاء مجلدات جديدة.

أرى كيف يمكن أن يعمل هذا، وما هي العملية لإنشاء مربع حوار يسمح للمستخدم بتسمية المجلد ووضعه في المكان الذي تريده.

هتافات

فقط افعل هذا:

        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

لقد أعلنت عن مسار المجلد باعتباره سلسلة (sPath) وبهذه الطريقة، إذا كنت تستخدمه عدة مرات، فيمكن تغييره بسهولة ولكن يمكن أيضًا تغييره من خلال البرنامج نفسه.

نأمل أن يساعد!

-nfell2009

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top