PDA

View Full Version : چک کردن اینکه یک پوشه موجود هست یا نه



mbf5923
جمعه 25 تیر 1389, 23:10 عصر
سلام
جطور میشه با برنامه یک پوشه رو در صورت عدم وجود ساخت و اگه قبلا ساخته شده یک فایل رو داخلش کپی کرد.
برای ساختش از mkdir استفاده کردم اما میخوام اول چک کنه اگه پوشه وجود داره دیگه اون رو نسازه و یک فایل را داخلش کپی کنه!
لطف کنید و کمک کنید.
در ضمن گشتم نبود نگرد نیست

sajjad_india
جمعه 25 تیر 1389, 23:14 عصر
واسه اینکار از منوی Project گزینه Microsoft Script Runtime رو علامت میزنی و اینم کدی که خواستی

Dim F As New FileSystemObject
If F.FolderExists("C:\Test") = True Then
MsgBox "Vojod Darad"
F.CreateTextFile "c:\Test\MyFile.txt"
Else
F.CreateFolder "C:\Test"
end if

xxxxx_xxxxx
شنبه 26 تیر 1389, 05:01 صبح
سلام،
تابع MakeSureDirectoryPathExists دقیقاً برای همین کار طراحی شده. یعنی بررسی وجود یک مسیر و اگر اون مسیر وجود نداشت بسازتش.
تعریف تابع:


Private Declare Function MakeSureDirectoryPathExists Lib "imagehlp.dll" (ByVal lpPath As String) As Long
یک مثال از استفاده از تابع:


MakeSureDirectoryPathExists "C:\Test\"
دستور فوق بررسی میکنه اگر فولدری با نام Test در درایو C وجود نداشته باشه اونو ایجاد میکنه.

دو نکته در مورد این تابع:
1) مسیری که به عنوان پارامتر به تابع داده میشه باید حتماً به \ ختم بشه.
2) این تابع می تونه مسیرهای تو در تو هم بسازه. مثلاً : C:\Test1\Test2\Test3

------------------------
یک راه دیگه هم استفاده ترکیبی از دو تابع PathIsDirectory و CreateDirectory هست. تابع اول، برای بررسی وجود مسیر و تابع دوم برای ایجاد اون مسیر هست. البته تابع CreateDirectory نمی تونه مسیرهای تو در تو بسازه.