كيف أقوم بإنشاء مجلد في VB إذا لم يكن موجوداً؟
سؤال
لقد كتبت لنفسي تطبيقًا صغيرًا للتنزيل حتى أتمكن بسهولة من الحصول على مجموعة من الملفات من الخادم الخاص بي ووضعها جميعًا على جهاز كمبيوتر جديد مع تثبيت نظيف لنظام التشغيل 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