تجریبات برنامه نویسی با دات نت و پایتون

دلیل خطای The given path's format is not supported در سی شارپ

درود

یه برنامه ای قرار بود ما بنویسیم که یه جای کار باید اسم یک فایل رو عوض می کردم و روش اسم استانداردی که تعریف شده رو تنظیم می کردم، اسم عوض کردن هم همه می دونند که چیز خاصی نداره با دستور ساده File.Move و قرار دادن آدرس اسم قدیم و آدرس اسم جدید اسم تغییر می کند به این صورت:

 

string oldfilename = @"D:\FolderName\01.txt";
string newfilename = @"D:\FolderName\02.txt";
System.IO.File.Move(oldfilename, newfilename);

خب همانطور که مشاهده می کنید همه چی ساده است ، اما زمانی که برنامه اجرا می شود و دستور File.Move می خواهد اجرا شود با Exception زیر مواجه مواجه می شدم:

Exception Details: System.NotSupportedException: The given path's format is not supported.

سیستم آدرس دهی رو عوض کردم و جای @ از دوتا // استفاده کردم باز هم خطا رفع نشد. 

همانطور که میدونید در ویندوز بعضی کاراکتر ها در آدرس فایل نباید وجود داشته باشد که عبارتند از:

 

< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

اما این ها هم در کد ما وجود ندارد! 

از متد Path.Combine هم استفاده کردم باز مشکل رفع نشد!

string path1 = "D:\\FolderName\\";

string path2 = "01.txt";

string combination = Path.Combine(path1 , path2 );
من برای بدست آوردن آدرس فایل ابتدا روی آن راست کلیک میکردم Properties و سپس از سربرگ Security آدرس رو داخل ویژوآل استدیو کپی میکردم این کار یک کاراکتر اضافی به آدرس اضاف می کرده هنوز متوجه نشدم دقیق چی هست اما زمانی که آدرس رو از Windows Explorer کپی کردم و اسم فایل رو دستی بهش اضاف کردم مشکل حل شد.

 این کار در ویندوز 10 و ویژوآل استدیو 2015 آپدیت 3 انجام میگرفته که حالا در نسخه های بعدی و به روزرسانی های بعدی که برای جفتشون بیاد من باز تست میکنم و اگر این مشکل برطرف شده بود این پست را به روز می کنم.

اگر راه کار دیگه ای برای این موضوع دارید در نظرات اعلام کنید.

 
۰۸ مهر ۹۵ ، ۱۶:۲۰ ۰ نظر موافقین ۰ مخالفین ۰
احمد رضا

اصلا چرا؟

درود

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

البته در حال حاضر سایت های آموزش برنامه نویسی مثل نقل و نبات ریخته تو اینترنت و دوستان می توانند به صورت تخصصی از این سایت ها استفاده کنند.

تخصص اصلی بنده دات نت هست و بیشتر تو این بستر کد نویسی می کنم ،گهگداری هم اسمبلی کار میکنم.  

پیشنهاد انتقاد نظر در مورد وبلاگ و مطالب دارید حتما در نظرات اعلام کنید.

موفق باشیم.

یا حق.

۰۷ مهر ۹۵ ، ۲۲:۱۶ ۰ نظر موافقین ۰ مخالفین ۰
احمد رضا