PDA

View Full Version : ساخت فولدر با mkdir



ameri110
پنج شنبه 04 شهریور 1389, 14:26 عصر
سلام
وقتی من با mkdir یه فولدر میسازم read-only میشه!!
باید چی کار کنم ؟

Saman_12
پنج شنبه 04 شهریور 1389, 14:45 عصر
نبایید این گونه بشه اما شما می تونید با دستور SetAttr درستش کنید.

ameri110
پنج شنبه 04 شهریور 1389, 14:59 عصر
میشه نمونه کد رو بدید ؟

Saman_12
پنج شنبه 04 شهریور 1389, 20:11 عصر
Mkdir C:\Saman_12
SetAttr(C:\Saman12 , VbNormal)

ahp_online
جمعه 07 مهر 1391, 07:13 صبح
سلام
من با دستور Mkdir یک فولدر می سازم.حالا اگر مجددا بخوام یک فولد بسازم اگر هم نام با فولد قبلی باشه این دستور خطا میده!!! چطوری می تونم قبل از ایجا فولد چک کنم ببینم با این نام قبلا فولدری ساخته شده یا نه؟؟
لطفا دستورات لازم برای اینکار رو بگید؟؟
تشکر

محسن واژدی
جمعه 07 مهر 1391, 09:26 صبح
سلام
من با دستور Mkdir یک فولدر می سازم.حالا اگر مجددا بخوام یک فولد بسازم اگر هم نام با فولد قبلی باشه این دستور خطا میده!!! چطوری می تونم قبل از ایجا فولد چک کنم ببینم با این نام قبلا فولدری ساخته شده یا نه؟؟
لطفا دستورات لازم برای اینکار رو بگید؟؟
تشکر




سلام علیکم
میتوانیم با PathFileExist وجود فولدر را پیش از ایجاد بررسی کنیم، کد زیر بررسی کنید:

Private Declare Function PathFileExists Lib "shlwapi.dll" Alias "PathFileExistsA" (ByVal pszPath As String) As Long

Private Sub Command1_Click()
Dim sDir$
sDir$ = "d:\1"
If CBool(PathFileExists(sDir$)) = False Then
MkDir sDir$
End If
End Sub


موفق باشید

vbhamed
جمعه 07 مهر 1391, 09:30 صبح
سلام

با اين روش ميشه

If Dir$("C:\TestFolder", vbDirectory Or vbHidden Or vbReadOnly Or vbSystem Or vbArchive) = "" Then
MkDir "C:\TestFolder"
End If
ولي استفاده از روش زير مطمئن تره
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FolderExists("C:\TestFolder") = False Then
fso.CreateFolder "C:\TestFolder"
End If