PDA

View Full Version : سوال: رد کردن فایلهایی که در دستور copyfolder با "permission denied" Error " مواجه میشوند



m75an86
شنبه 26 آذر 1390, 11:32 صبح
با سلام
میخواستم از کل محتوای یک پوشه (که خودش حاوی پوشه ها و فایلهایی است) در شبکه کپی بگیرم از آنجایی که کاربران در شبکه در حال اجرای برنامه مربوط به آن فایلها هستند از یه سری فایلهای TMP نمیتوان کپی گرفت و دستور copyfolder با error فوق مواجه میشه که میخواستم اون فایلها رو skip کنه و به بقیه کپی ادامه بده. سوال من اینه پارامتری برای این دستور برای اینکار هست؟
با تشکر

Mr'Jamshidy
شنبه 26 آذر 1390, 14:19 عصر
بله هست

On Error Goto CopyError
{
.
.
.
Your Code
.
.
.
}

Exit Sub

CopyError:
If Err.Number = ? Then Resume Next

جایگزین علامت سوال شماره خطا رو جایگزین کن

m75an86
یک شنبه 27 آذر 1390, 09:50 صبح
بله هست

On Error Goto CopyError
{
.
.
.
Your Code
.
.
.
}

Exit Sub

CopyError:
If Err.Number = ? Then Resume Next

جایگزین علامت سوال شماره خطا رو جایگزین کن
ممنونمم از پاسخ شما. من دستور بالا رو اجرا کردم ولی عمل کپی به error که میرسه متوقف میشه و ادامه نمیده. ممنون میشم اگه راهنمایی کنید

m75an86
یک شنبه 27 آذر 1390, 10:33 صبح
بله هست

On Error Goto CopyError
{
.
.
.
Your Code
.
.
.
}

Exit Sub

CopyError:
If Err.Number = ? Then Resume Next

جایگزین علامت سوال شماره خطا رو جایگزین کن

در واقع با resume next میره به خط بعد از جایی که error اتفاق افتد که همون exit sub هست ولی خطا در copyfolder هست که فقط یک خط دستوره و نمیتونه ادامه copyfolder رو بپردازه. اگه راه حلی بدید خیلی ممنون میشم

vb6_man
یک شنبه 27 آذر 1390, 12:05 عصر
من می گم قبل از Copy فایل رو Delete کن ببین مشه یا نه
اگه شد یعنی کسی باهاش درگیر نیست
بعد بگیر Copy کن:قهقهه::قهقهه:

شوخی کردم
شما بستگی داره که چهطوری داری Copy می کنی
مثلا اگه من دستور Copy این Subfolder رو بفرستم
همش در یک خط اتفاق می افته ( یعنی شما فقط می گی اینو Copy کن بعد هیچ نظارت و کنترلی روش نداری )
پس این روش On Error Resume Next جواب نمی ده

اما اگه بخوای جواب بگیری از این روش باید خودت فایل ها رو کپی کنی
تا اگه یکی Error داد خودش بره بعدی
البته اگه با API هم استفاده کنی Error Merror نمی ده:لبخند: ( منظورم تک فایل هست )