PDA

View Full Version : ایجاد فولدر بر روی هاست



rasti_web
چهارشنبه 15 فروردین 1386, 13:29 عصر
من یک کتابخانه الکترونیکی دارم.میخواهم هر وقت یک زیر گروه جدید توسط مدیریت ایجاد شد یک فولدر همنام این زیرگروه روی هاست ایجاد بشه تا فایل pdf کتابهای این زیر گروه جدید در آن فولدر آپلود بشه.برای ایجاد این فولدر باید چه کار کنم؟

iman_22a
چهارشنبه 15 فروردین 1386, 16:00 عصر
یک مثال :

If IO.Directory.Exists(Project.dataPath & "\Projects\" & Me.tbGNameEn.Text.ToString.Trim) = True Then
Dim di As New IO.DirectoryInfo(Project.dataPath & "\Projects\" & Me.tbGNameEn.Text.ToString.Trim)
Dim fi As IO.FileInfo() = di.GetFiles()
Dim fiTemp As IO.FileInfo
For Each fiTemp In fi
fiTemp.Delete()
Next fiTemp

IO.Directory.Delete(Project.dataPath & "\Projects\" & Me.tbGNameEn.Text.ToString.Trim)
End If
IO.Directory.CreateDirectory(Project.dataPath & "\Projects\" & Me.tbGNameEn.Text.ToString.Trim)

اول چک می کنید تا ببینید فولدر از قبل موجود بوده یا نه . اگر بود باید ابتدا فایل های موجود در آن را حذف سپس خود دایرکتوری را حذف کنید در آخر فولدر جدید را با نام مورد نظر خود بسازید

Behrouz_Rad
چهارشنبه 15 فروردین 1386, 16:57 عصر
دو نکته در اینجا وجود داره.
1) نیازی نیست که ابتدا فایل های درون پوشه حذف بشن و سپس خود پوشه.
کافیه تا پارامتر دوم متد Delete رو برابر با True قرار بدید تا تمامی زیر پوشه ها و فایل های درون اونها حذف بشن.
2) در صورتی که زیر پوشه یا فایلی Readonly باشه، در هنگام حذف خطایی از نوع UnauthorizedAccessException و یا IOException (بسته به اینکه پوشه Readonly هست یا فایل) رخ میده.
برای رفع این مشکل، حلقه ی For کد فوق باید برای بررسی صفت Readonly فایل یا پوشه قبل از حذف اون به کار گرفته بشه و در صورت دارا بودن این صفت، این صفت حذف بشه. (متدهای GetAttributes و SetAttributes)

موفق باشید.