PDA

View Full Version : Rename کردن فایل



debugger
چهارشنبه 30 دی 1388, 20:51 عصر
با عرض سلام خدمت دوستان عزیز

چطور میشه در سی شارپ نام یک فایل را عوض کرد ؟؟؟ به نظر سوال ساده ای است ؟

ولی خب تا جایی که من جستجو کردم مثل اینکه راهی نیست !!!!!

تابعی به نام rename یا امثال ان در سی شارپ وجود ندارد ، باید برای تغییر نام یک فایل انرا با نام دیگری Moveیا Copy کنیم و فایل اصلی را حذف کنیم

ولی فایل های من تعدادشون زیاده و حجمشون بالاست و این روش زمان بره

و یه سوال دیگه هم چطور میشه sub directory ها را هم در این کد rename کرد ؟؟؟؟؟



void RenameThem()
{
DirectoryInfo d = new DirectoryInfo("c:/dir/");
FileInfo[] infos = d.GetFiles("*.myfiles");
foreach(FileInfo f in infos)
{
// Do the renaming here
File.Move(f.FullName, Path.Combine(f.Directory.ToString(), "1" + f.Name));
}
}

mdssoft
چهارشنبه 30 دی 1388, 21:54 عصر
یه نمونه اینحا هست ، شاید به دردت بخوره :
http://www.codeproject.com/KB/cs/BatchRenamer.aspx

shahab_ss
چهارشنبه 30 دی 1388, 23:14 عصر
System.IO.File.Move("c:\a.txt", "c:\b.txt");

به اینصورت درواقع شما با Move کردن فایل اون رو Remane میکنید.

maryam_20
سه شنبه 20 اردیبهشت 1390, 17:54 عصر
System.IO.File.Move("c:\a.txt", "c:\b.txt");

به اینصورت درواقع شما با Move کردن فایل اون رو Remane میکنید.



من اين كد رو كه اجرا مي كنم همچين ايرادي ازم مي گيره:

The process cannot access the file because it is being used by another process.

قبلش ميام فايلم رو مي سازم و string ميريزم داخلش
چرا همچين error ي ميده؟

FastCode
سه شنبه 20 اردیبهشت 1390, 18:56 عصر
من اين كد رو كه اجرا مي كنم همچين ايرادي ازم مي گيره:

The process cannot access the file because it is being used by another process.

قبلش ميام فايلم رو مي سازم و string ميريزم داخلش
چرا همچين error ي ميده؟
این خطای سطح دسترسی ویندوزه.
از یک درایو دیگه استفاده گنید.

محسن شامحمدی
سه شنبه 20 اردیبهشت 1390, 19:30 عصر
قبلش ميام فايلم رو مي سازم و string ميريزم داخلش
چرا همچين error ي ميده؟
خب معلومه چون قبلش فایل رو باز می کنی ولی فایل رو Close نمی کنی.