PDA

View Full Version : تشخیص فایل از فولدر



Payman62
جمعه 21 بهمن 1384, 18:40 عصر
سلام.
فرض کنید که یه تابع داریم. این تابع آدرسی از هارد میگیره . مثلا ممکنه آدرس "C:\a\a.exe" باشه یا "C:\a" باشه . چه طور بفهمم آدرس فایل گرفتم یا فولدر؟

Payman62
شنبه 22 بهمن 1384, 02:21 صبح
جواب بدید لطفا.

meh_secure
شنبه 22 بهمن 1384, 21:41 عصر
if instrrev(text1,".") =0 then
print "folder"
else
print"file"
endif

ehsan_ansaripoor
شنبه 22 بهمن 1384, 22:11 عصر
سلام.
فرض کنید که یه تابع داریم. این تابع آدرسی از هارد میگیره . مثلا ممکنه آدرس "C:\a\a.exe" باشه یا "C:\a" باشه . چه طور بفهمم آدرس فایل گرفتم یا فولدر؟

دوست عزیز یک نکته یادت باشه تمام فایلها داری پسوند هستند.

شما اگر آدرس "C:\a" را بدید سیستم شاخه داخل درایو C را بر می گردونه ولی "C:\a.Exe" فایل اجرایی A را داخل درایو C بر می گردونه.

Payman62
یک شنبه 23 بهمن 1384, 00:14 صبح
دوست عزیز یک نکته یادت باشه تمام فایلها داری پسوند هستند.

شما اگر آدرس "C:\a" را بدید سیستم شاخه داخل درایو C را بر می گردونه ولی "C:\a.Exe" فایل اجرایی A را داخل درایو C بر می گردونه.
و اگه فایل ntldr بود چی؟ این روش جالبی نیست. به فکر خودمم رسیده بود. ولی من استفاده از کدی میخوام که با توابع یا دستورات حرفه ای این کارو بکنه. تا فایل های بدون پسوند رو هم با فولدر اشتباه نگیره.

meh_secure
یک شنبه 23 بهمن 1384, 12:20 عصر
از file system objects استفاده کنید

Payman62
یک شنبه 23 بهمن 1384, 19:29 عصر
میشه بیشتر توضیح بدید

H_SH_VB
یک شنبه 23 بهمن 1384, 19:37 عصر
fek mikonam mitooni az rooye sizesh tashkhis bedi
filelen ro emtehaan kon
fek mikonam ye joori bayad javab bede
shayad ba error dadan

meh_secure
یک شنبه 23 بهمن 1384, 19:52 عصر
در رفرنس ها یک نمونه از Microsoft scripting runtimeاضافه کنید.
بعد یک متغیر از این نوع تعریف کنید.



dim fso as filesystemobject
fso.
' شکل متد ها شما را راهنمایی خواهد کرد

حامد مصافی
دوشنبه 24 بهمن 1384, 00:38 صبح
قبل از تعریف fso از منوی project گزینه Prefrence رو انتخاب کنید
و ...windows scripting host رو به پروژه اضافه کنید

Payman62
دوشنبه 24 بهمن 1384, 02:53 صبح
من قبلا Scripting رو اضافه کرده بودم ولی به این صورت متغیر تعریف میکردم.
Dim srtFolders As New Scripting.FileSystemObject
خیلیم باهاش ور رفتم ولی نتونستم روشی برای تشخیص فایل از فولدر گیر بیارم. چون تو همه قسمت ها دستورات فایل ها از فولدرها جداست. گفتم شاید با api ها بشه کاری کرد.
H_SH_VB این کار رو کرده بودم. ولی فایل هایی هستند که 0 بایت سایز دارن و با فولدر اشتباه گرفته میشن.
البته مشکلم حل شد. از ویژگی ATTRIBUTE میشه استفاده کرد. ATTRIBUTE_DIRECTORY
البته جالبه فایل های hiberfil.sys و pagefile.sys فولدر تشخیص داده میشن نمیدونم چرا ولی در بقیه موارد درست جواب میده.