PDA

View Full Version : تشخیص وجود یک پوشه در درایو



xrezax
جمعه 15 مهر 1390, 01:02 صبح
چطور تشخیص بدم که یک پوشه در درایو d وجود داره یا نه ؟؟؟؟
( مثلاً اگه پوشه 1 توی درایو d بود اررور بده بگه ok و اگر نبود بگه No)

mr-adler
جمعه 15 مهر 1390, 01:30 صبح
با سلام
از کتابخانه scrrun استفاده کن . متد fileexist & folderexist استفاده کن .
اگه موجود بود true رو برمیگردونه و الا false ....

رفرنس :microsoft scriping runtime

xrezax
جمعه 15 مهر 1390, 01:34 صبح
راه ساده تر و کلی تری نیست ؟؟
مثلاً
if dir "d:\1" then
msgbo "ok"
else
msgbox"no"
end if
یه همچین جیزی . ساده و مختصر می خوام

mr-adler
جمعه 15 مهر 1390, 01:45 صبح
خودتون که جواب خودتونو دادید:لبخند:
دلیل اینکه گفتم از کتابخانه استفاده کنید توصیه دوستان در استفاده از این منابع بود به خاطر سرعت و کارایی بالاتر . این روش هم بسیار ساده و مختر هست . امتحانش کن...
راهی هم خود شما اشاره کردید به این صورت هستش که که متغییری رو مساوی با dir "d:\1" قرار میدهیم و به وسیله این متغیر قضیه حل میشه
این نظر من بود شاید راه بهتری هم باشه...

xrezax
جمعه 15 مهر 1390, 01:46 صبح
خودتون که جواب خودتونو دادید:لبخند:
دلیل اینکه گفتم از کتابخانه استفاده کنید توصیه دوستان در استفاده از این منابع بود به خاطر سرعت و کارایی بالاتر . این روش هم بسیار ساده و مختر هست . امتحانش کن...
راهی هم خود شما اشاره کردید به این صورت هستش که که متغییری رو مساوی با dir "d:\1" قرار میدهیم و به وسیله این متغیر قضیه حل میشه
این نظر من بود شاید راه بهتری هم باشه...


میشه یه سورسی بزارید؟؟؟

mr-adler
جمعه 15 مهر 1390, 01:51 صبح
اینجوری یاد نمیگیرید اگه باهاش درگیر نشید:متفکر: . اما اینو ببینید چطوره:

a = Dir("g:\azarmy\")
If a = "" Then
MsgBox "file does not exist"
Else
MsgBox "file is at there"
End If

xrezax
جمعه 15 مهر 1390, 01:58 صبح
این دستور کار نمی ده تست زدم

mr-adler
جمعه 15 مهر 1390, 02:05 صبح
چند بار تستش کردم اشکالی نداشت . چه خطایی میده؟ متنشو بنویسید

xrezax
جمعه 15 مهر 1390, 02:08 صبح
پوشه باشه نباشه اینو میگه file does not exist

mr-adler
جمعه 15 مهر 1390, 02:25 صبح
با پسوندهای مختلف فایل همچنین با پوشه ها چک شد ایرادی نداره. :متفکر:
مطمئنید ادرسشو درست میدید؟
Dir("g:\؟؟؟؟؟؟؟؟\")
یه ادرسی بدید که وجود داشته باشه. نمیدونم به خاطر چی این مورد برای شما اتفاق میافته
این هم کد روش دوم:

Dim fso As FileSystemObject



Private Sub Command2_Click()
Set fso = New FileSystemObject
If fso.FileExists("d:\war.txt") = True Then
MsgBox "ok"
Else
MsgBox "not exist"
End If

End Sub
موفق باشی:چشمک:

xrezax
جمعه 15 مهر 1390, 11:27 صبح
هر 2تاش روی سون کار ندادن

just4froum
جمعه 15 مهر 1390, 12:09 عصر
با سلام

من با fso امتحان کردم برای پوشه ها کار نکرد اما Dir درست کار میکنه ولی فکر میکنم دلیل این که شما نمیتونید ازش استفاده کنید این است که باید بعد از پوشه ی مورد نظر یک backslash اضافه کنید یعنی برای مسیر C:\Windows رو باید به صورت
C:\windows\ وارد کنید

امیدوارم مشکلتون حل شده باشه


موفق باشید

xrezax
جمعه 15 مهر 1390, 12:21 عصر
a = Dir("c:\1\")
If a = "" Then
MsgBox "file does not exist"
Else
MsgBox "file is at there"
End If

از این استفاده می کنم که کار نمیده متاسفانه

محسن واژدی
جمعه 15 مهر 1390, 12:30 عصر
سلام
دستور زیر را هم بررسی کنید:

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

Private Sub Command1_Click()
If CBool(PathFileExists("c:\1")) Then
MsgBox "Found"
Else
MsgBox "Not found"
End If
End Sub


موفق باشید

ali.rezaei7
جمعه 15 مهر 1390, 12:49 عصر
سلام. با همون dir هم میشه. تنها باید تمامی attributهایی که یه پوشه می تونه داشته باشه رو به dir بدیم:
Dim Exist As String
Exist = Dir("path", vbDirectory Or vbHidden Or vbReadOnly)

If Exist <> "" Then
MsgBox "Found"
Else
MsgBox "Not found"
End If