PDA

View Full Version : کپی کردن یک فولدر



مهدی رحیم زاده
شنبه 08 دی 1386, 21:20 عصر
سلام میشه بگید که چطوری می تونم یک فولدر رو توی سی شارپ کپی ، Cut یا Delete یا rename کنم
ممنون

Amir Oveisi
یک شنبه 09 دی 1386, 01:08 صبح
برای کپی : Microsoft.VisualBasic.FileIO.FileSystem.CopyDirect ory(string source,string destination)

برای delete : Microsoft.VisualBasic.FileIO.FileSystem.DeleteDire ctory(String directory, DeleteDirectoryOption option)

برای cut هم که اول Copy بعد delete !

برای Rename : Microsoft.VisualBasic.FileIO.FileSystem.RenameDire ctory(string directory,string newName)

باید اول Microsoft.VisualBasic رو به refrence هات add کنی

موفق باشید

مهدی رحیم زاده
یک شنبه 09 دی 1386, 09:09 صبح
برای کپی :
Microsoft.VisualBasic.FileIO.FileSystem.CopyDirect ory(string source,string destination)


برای delete :
Microsoft.VisualBasic.FileIO.FileSystem.DeleteDire ctory(String directory, DeleteDirectoryOption option)


برای cut هم که اول Copy بعد delete !

برای Rename :
Microsoft.VisualBasic.FileIO.FileSystem.RenameDire ctory(string directory,string newName)


باید اول Microsoft.VisualBasic رو به refrence هات add کنی

موفق باشید

سلام دوست عزیز
من اونو Add کردم اما .FileIO رو پیدا نمی کنم ؟؟؟؟
دلیلش چیه ؟؟؟؟؟؟؟؟؟؟؟؟؟

hassan razavi
یک شنبه 09 دی 1386, 09:15 صبح
برای Cut و Delete یک فولدر بدون نیاز به Microsoft.VisualBasic :



System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("c:\\Test");
dir.MoveTo("D:\\Test");
dir.Delete();

مهدی رحیم زاده
دوشنبه 10 دی 1386, 18:24 عصر
کسی نمی دونه که اون مشکل VisualBasic رو چطور باید حل کنم ؟؟؟؟

Amir Oveisi
سه شنبه 11 دی 1386, 00:31 صبح
واسه من که هست !! یه بار دیگه همه چیزو چک کن ببین چی میشه

sinpin
سه شنبه 11 دی 1386, 00:54 صبح
کسی نمی دونه که اون مشکل VisualBasic رو چطور باید حل کنم ؟؟؟؟

من متوجه نشدم که چه اصراری دارید که از فضای نام ویژوال بیسیک استفاده کنید ؟
در هر صورت اگه Microsoft.VisualBasic رو به referneces اضافه کنید مشکل حل میشه.
معمولا بعد از convert کردن (و یا تراکنش با) برنامه های قدیمی ممکنه نیاز به این namespace احساس بشه :

http://www.informit.com/guides/content.aspx?g=dotnet&seqNum=506
All of the old Visual Basic constants and functions that exist in .NET can be found in the Microsoft.VisualBasic namespace. As an added benefit--because they’re included in a .NET namespace--is that programs written other languages (C#, for example) have full access to the old Visual Basic Financial and other useful libraries. This can be especially helpful when new C# code is expected to interact with legacy Visual Basic code or VB code that’s been ported to VB.NET.پست آقای رضوی (پست شماره 4) مشکل رو حل نکرد ؟
در فضای نام IO دو تا کلاس برای اینکار هست که با هر کدوم راحتترید میتونید کار کنید :


// با اعضای استاتیک جهت دسترسی راحت
System.IO.Directory.Move();

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo();
dir.MoveTo();

مهدی رحیم زاده
سه شنبه 11 دی 1386, 06:51 صبح
من چند بار هم اینو Remove کردم و دوباره باز Add کردم اما نشد !!!!
میشه یه لطف کوچولو بکنید و یه برنامه کوچولو که از این توش استفاده کردین به همراه فایلDLL برام بزارین ...
خیلی لازمش دارم .
در ضمن پست آقای رضوی عزیز هم نتونست پاسخگوی کارای من باشه ...

مهدی رحیم زاده
سه شنبه 11 دی 1386, 17:48 عصر
کسی وقت نکرده !!!!

Amir Oveisi
سه شنبه 11 دی 1386, 18:43 عصر
موفق باشید

مهدی رحیم زاده
پنج شنبه 13 دی 1386, 21:40 عصر
ممنونم بابت برنامه ، اگر میشه فایل DLL رو هم برام بزارید . من از DLLای که توی ویندوز با این نام پیدا کردم استفاده کردم اما نشد که نشد ....

Amir Oveisi
پنج شنبه 13 دی 1386, 23:14 عصر
موفق باشید

ali800
چهارشنبه 01 آبان 1392, 00:20 صبح
FolderBrowserDialog fbd = newFolderBrowserDialog();
fbd.Description = "Find Folder to Copy.";
string[] files = Directory.GetFiles(Drive_name);
// string[] files = Drive_name;
// string[] files = Directory.GetLogicalDrives(Drive_name);

Directory.CreateDirectory(@"C:\CopiedFolder");
for (int i = 0; i <500; i++)
{

progressBar1.Value = i;
progressBar1.Value++;
button4.Text = string.Format("{0:0}%"+" compelete ", progressBar1.Value.ToString());
string tmpFileExt = Path.GetExtension(files[i]);
string tmpFileName = Path.GetFileNameWithoutExtension(files[i]);
File.Copy(files[i], @"C:\CopiedFolder\" + tmpFileName + tmpFileExt, true);

}
 
دوستان این کد کپی میکنه اما یه مشکلی داره که پوشه رو کپی نمیکنه فقط پسوند هارو کپی میکنه کسی بلده یه کد بهم بده یه درایو رو در یک درایو دیکه کپی کنم || توی کد چند تا چیز اضافه هست اگه کسی خواست استفاده کنه پاک کنه ...

ali800
چهارشنبه 01 آبان 1392, 00:33 صبح
این فقط پسوند ها رو کپی میکنه نه دایرکتور رو ::D

danialafshari
چهارشنبه 01 آبان 1392, 01:08 صبح
سلام
تاریخ تاپیک رو هم نگاه کنید