نمایش نتایج 1 تا 8 از 8

نام تاپیک: مشکل در استفاده از directory.move(a,b); csharp

  1. #1
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    شهر هفت هزار ساله شوش
    پست
    79

    Question مشکل در استفاده از directory.move(a,b); csharp

    با سلام خدمت دوستان عزیز
    من تازه کارم و تو یه کدی به مشکل برخوردم
    چرا وقتی می خوام یه پوشه (بدون زیرشاخه و پوشه های دیگر) رو move کنم به راحتی انجام میشه ولی وقتی یه پوشه با زیرشاخه ، یعنی یه پوشه که درونش پوشه های دیگه ای هم هست رو می خوام move کنم برنامه دچار باگ میشه و ارور میده؟؟؟
    از کد زیر استفاده می کنم
    system.io.directory.move(a,b);
    a مبدا b مقصد

  2. #2
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    شهر هفت هزار ساله شوش
    پست
    79

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

     
    string[] a = Directory.GetDirectories("d:\\");


    try
    {
    Directory.Move(a[0], a[1]);
    MessageBox.Show("The directory move is complete.");
    }
    catch (ArgumentNullException)
    {
    MessageBox.Show("Path is a null reference.");
    }
    catch (System.Security.SecurityException)
    {
    MessageBox.Show("The caller does not have the " +
    "required permission.");
    }
    catch (ArgumentException)
    {
    MessageBox.Show("Path is an empty string, " +
    "contains only white spaces, " +
    "or contains invalid characters.");
    }
    catch (System.IO.IOException)
    {
    MessageBox.Show("An attempt was made to move a " +
    "directory to a different " +
    "volume, or destDirName " +
    "already exists.");
    }

    با این کد هم امتحان کردم که همش کچ آخری رو انتخاب می کنه و اصلا چیزی رو move نمی کنه.

  3. #3
    کاربر دائمی آواتار Parham.D
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شيراز
    پست
    413

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

    سلام. شما میدانید که پیغام Catch آخر چی هست؟ این هست : Cannot Create a file when that file already exist. حالا بهتر میدانید که چطور باید مشکل را حل کرد!

  4. #4
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    شهر هفت هزار ساله شوش
    پست
    79

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

    نقل قول نوشته شده توسط Parham.D مشاهده تاپیک
    سلام. شما میدانید که پیغام Catch آخر چی هست؟ این هست : Cannot Create a file when that file already exist. حالا بهتر میدانید که چطور باید مشکل را حل کرد!
    دوست عزیز کاربر دائمی ، اگه مشکل من Cannot Create a file when that file already exist بود که واسش تاپیک نمیزدم
    من عرض کردم که برنامه به کچ آخر هدایت میشه اینی که شما فرمودیت یکی از دو دلیل بود که تو این کچ هست.
    اصلا من می خوام بدونم این موو کردن فایل چطور اجرا میشه چون من هر کاری می کنم نمیشه
    کسی نیست درست حسابی جواب مارو بده؟؟؟؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    تهران
    سن
    38
    پست
    1,104

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

    دوست عزیز یه Sample واست نوشتم که مسیر دایرکتوری که میخوای move کنی رو میگیره و همچنین مسیر دایرکتوری که میخوای فولدرت به اونجا move بشه و به راحتی کل اون دایرکتوری رو با subfolder و fileهای توش move میکنه
    موفق باشی
    فایل های ضمیمه فایل های ضمیمه

  6. #6

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

    سلام
    کسی میدونه 2 متد invoke و invokerequired چی هستند چند نخی چیه.

  7. #7
    کاربر دائمی آواتار Parham.D
    تاریخ عضویت
    خرداد 1386
    محل زندگی
    شيراز
    پست
    413

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

    نقل قول نوشته شده توسط amirrr3 مشاهده تاپیک
    دوست عزیز کاربر دائمی ، اگه مشکل من Cannot Create a file when that file already exist بود که واسش تاپیک نمیزدم
    من عرض کردم که برنامه به کچ آخر هدایت میشه اینی که شما فرمودیت یکی از دو دلیل بود که تو این کچ هست.
    اصلا من می خوام بدونم این موو کردن فایل چطور اجرا میشه چون من هر کاری می کنم نمیشه
    کسی نیست درست حسابی جواب مارو بده؟؟؟؟
    Move اینطور هست که فولدر انتخاب شده را به محل جدید کپی و بعد در محل قبل آنها را پاک میکند. کارکردش خیلی ساده است، اینکه شما چطور دارید ازش استفاده میکنید مشکل ایجاد کرد. بالاخره اون پیغام خطای که من گفتم داره از برنامه شما صادر میشه. اگر مشکل شما اون نیست پس چی هست؟ بالاخره اون کچ آخر یا هر کدام باید چیزی برای گفتن داشته باشن که شما باید آنها را حل کنید. برای مثال ببینید اگر فایل یا فلدر از قبل در محل مقصد بوده دوباره آنها را Move نکند. اگر منظور از درست حسابی جواب دادن یعنی کد نویسی برای برنامه شما هست که شادی خانم انجام داد که البته فکر نکنم مشکل شما را حل کنه. من سعی کردن بگم اشکال برنامه کجا میتونه باشه. در کل در زمان استفاده از IO در بیشتر مواقع باید متد Exist برای بررسی از قبل موجود بودن فایلها و فولدها استفاده کنید. اساسا الگریتم شما باید بیشتر توصیف بشه. شاید مقدارهای که در اندیس صفر آرایه وجود داره در اندیس یک آن هم باشه. بخصوص اگر کد در حلقه یا به نحو خاصی استفاده بشه.

  8. #8
    کاربر تازه وارد
    تاریخ عضویت
    مرداد 1390
    محل زندگی
    شهر هفت هزار ساله شوش
    پست
    79

    نقل قول: مشکل در استفاده از directory.move(a,b); csharp

    مرسی شادی جان واقعا عالی بود
    مشکل تو یه ریزه کاری بود که باید تو dest بعد از آدرس نام فایل رو هم می نوشتم که از رو کد شما اینو فهمیدم
    الان با این کد به راحتی موو شد
     
    string[] a = Directory.GetDirectories("d:\\");


    try
    {
    Directory.Move(a[0], a[1]+ "\\" filename );
    MessageBox.Show("The directory move is complete.");
    }
    catch (ArgumentNullException)
    {
    MessageBox.Show("Path is a null reference.");
    }
    catch (System.Security.SecurityException)
    {
    MessageBox.Show("The caller does not have the " +
    "required permission.");
    }
    catch (ArgumentException)
    {
    MessageBox.Show("Path is an empty string, " +
    "contains only white spaces, " +
    "or contains invalid characters.");
    }
    catch (System.IO.IOException)
    {
    MessageBox.Show("An attempt was made to move a " +
    "directory to a different " +
    "volume, or destDirName " +
    "already exists.");
    }



    بازم مرسی

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •