سلام
چطوری می تونم فاصله های مثلاً E:\New folder 5 رو از بین ببرم؟
تو اینترنت سرچ کردم فقط فهمیدم که باید مسیر به این شکل بشه : E:\New~folder~5
ولی کدشو پیدا نکردم.
لطفاً راهنمایی کنید.
با تشکر
سلام
چطوری می تونم فاصله های مثلاً E:\New folder 5 رو از بین ببرم؟
تو اینترنت سرچ کردم فقط فهمیدم که باید مسیر به این شکل بشه : E:\New~folder~5
ولی کدشو پیدا نکردم.
لطفاً راهنمایی کنید.
با تشکر
هاان ؟
من که نفهمیدم چی میگی.....
ولی اینجوری ریپلیس کن
مثلا این را داری
string path = @"E:\New folder 5";
در ادامه اش زیرش بنویس
path = path.replace(" ","~");
این اونی میشه که شما نوشتی
منتها اگر بهت درست کار نمیده ادرس حتما به خاطر اینه که @ نگذاشتی یا به جای @ باید هر جا \ هست بکنی \\ حالا نمیدونم منظورت چی بوده
امیدوارم این 2 مطلب کارت را راه بیاندازد
موفق باشی
آخه وقتی کد زیر رو می نویسم درست اجرا میشه:
string MasireBarname = AppDomain.CurrentDomain.BaseDirectory;
System.Diagnostics.Process.Start("wmplayer.exe", MasireBarname + "NewFolder5\\aaa.mpg");
ولی وقتی اینو می نویسم ارور میده:
string MasireBarname = AppDomain.CurrentDomain.BaseDirectory;
System.Diagnostics.Process.Start("wmplayer.exe", MasireBarname + "New Folder 5\\aaa.mpg");
و این ارور رو می ده:
ضمیمه 112550
وقتی در مسیر فایل space وجود داره برای اجرای اون فایل، مسیر باید کامل و بدون دستکاری باشه و نباید spaceها رو حذف کنی. نمیدونم چرا میخواهی این کار رو انجام بدی؟
توی این تاپیک کامل توضیح دادم ولی کسی جواب نداد گفتم شاید به خاطر این جواب نمی دن که باید سوالم رو چون چیز دیگریست در تاپیک جدید بپرسم.
من یک فایلی رو کنار EXE برنامه گذاشتم ( چرا اینکاررو کردم در این تاپیک عرض کردم ) و اون رو گفتم در برنامه Windows Media Player اجرا کن.
حالا داخل Desktop من یک New Folder درست کردم و Exe و فایل تصویری رو داخل اون انداختم و exe رو اجرا کردم و ارور ( عکس ) بالا رو گرفت.
ولی وقتی دستی فاصله های New Folder رو از بین بردم ( NewFolder ) فایل تصویری بدون هیچ مشکلی اجرا شد.
توی اینترنت سرچ کردم و گفته بود باید این فاصله ها با یه چیزی پر بشه مثلاً New Folder باید بشه درست یادم نیست NewFol~d یا یه همچین چیزی. کدها رو گذاشتم ولی کار نکرد.
کلاً توی مسیر فایل نباید هیچ فاصله ای بین کلمات باشه.
امیدوارم منظور بنده رو متوجه شده باشید.
اگر باز متوجه نشدید بفرمائید تا بیشتر توضیح بدم.
دوباره گشتم و اینو پیدا کردم:
string MasireBarname = @"E:\New folder 5";
Uri path = new Uri(MasireBarname);
Uri workingDirectory = new Uri(System.IO.Directory.GetCurrentDirectory());
string relativePath = workingDirectory.MakeRelativeUri(path).ToString();
ولی یه مشکلی که داره اینه وقتی میگم relativePath رو نشونم بده اینه:
../../../../New%20folder%205
ولی من اینو می خوام:
E:\\New%20folder%205
با سلام
هیچ دلیل برای از بین بردن فاصله ها وجود نداره. این حالت 20 درصد برای آدرس های اینترنتیه نه آدرس فایل فیزیکی روی هارد.
ضمنا شما چرا از ابتدا نام فولدر را بدون فاصله نمینویسید که اصلا این مسائل پیش نیاد؟
آخرین ویرایش به وسیله علی متقی پور : دوشنبه 13 آبان 1392 در 20:59 عصر
در این جور مواقع قبل و بعد آدرس متنی کارکتر 34 را که همان دابل کوتیشن است را اضافه کنید
char c34 = (char)34;
string path = @"E:\New folder 5";
path = c34 + path + c34;
مثال : E:\New folder 5 را اینگونه برمیگرداند "E:\New folder 5"
اونایی که خودم درست می کنم مشکلی نیست بدون فاصله انجام می دم ولی می خوام برنامه ای بنویسم که فیلمهای داخل هاردم رو با ژانرهای مختلف جدا کنه و اونی که می خوام رو از توی برنامه در داخل برنامه ای که براش تعریف می کنم اجرا کنه. خوب من این فولدرها و فایل ها رو خیلی وقت که درست کردم و حالا که می خوام این برنامه رو بنویسم می ترسم به این مشکل برخورد کنم.
اگر حالت 20 درصد بهم جواب بده خوب خیلی خوبه. کارم راه می افته.
خدا خیرت بده.
درست شد.
عجب چیز ساده و باحالی بود ( معما چو حل گشت آسان شود )
char c34 = (char)34;
string path = @"E:\Films\Film\Action\Subtitle\A Good Day To Die Hard\A Good Day to Die Hard.mkv";
path = c34 + path + c34;
System.Diagnostics.Process.Start("wmplayer.exe", path);