انتقال چندین فایل به چندین پوشه در سی شارپ
سلام.
در عکس زیر با دکمه انتخاب پوشه فایل های موجود در پوشه رو در Listbox1 نمایش میدم:
http://uupload.ir/files/882x_0111.jpg
http://uupload.ir/files/ip9t_0222.jpg
و با زدن دکمه "ایجاد پوشه" به تعداد فایل های داخل Listbox (که 4 فایل هست) و با نام خود فایل ها پوشه ایجاد میشه (مثل عکس زیر)
http://uupload.ir/files/2myp_0333.jpg
حالا فقط مونده یه کار !
میخوام با زدن دکمه "انتقال فایل ها" فایل ها به پوشه های ایجاد شده منتقل بشن. (هر فایل به پوشه هم نام خودش منتقل بشه)
اگه میشه در قسمت btnMove_Click کد مربوطه رو بنویسید. مرسی
این کل سورس منه:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Tamrin001
{
public partial class MFC1 : Form
{
public MFC1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void btnMove_Click(object sender, EventArgs e)
{
}
private void btnStart_Click(object sender, EventArgs e)
{
string text = "";
foreach (var item in ListBox1.Items)
{
text = Path.GetFileNameWithoutExtension(item.ToString());
string activeDir = txtDirectoryPath.Text;
string newPath = System.IO.Path.Combine(activeDir, text);
System.IO.Directory.CreateDirectory(newPath);
}
}
private void btnSelectFolder_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
string[] files = Directory.GetFiles(folderBrowserDialog1.SelectedPa th);
LabelShowCount.Text = files.Length.ToString();
txtDirectoryPath.Text = folderBrowserDialog1.SelectedPath;
string folderName = folderBrowserDialog1.SelectedPath;
foreach (string f in Directory.GetFiles(folderName, "*.*", SearchOption.AllDirectories))
ListBox1.Items.Add(Path.GetFileName(f));
}
}
}
}
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
سلام
یه راه ساده اش اینه که اسم فایل بدذون پسوند بگیری در IO.Path و اسم پوشه تارگتت قرار بدی
مسئله ای که میمونه ویندوز به حروف بزرگ و کوچک حساسه که باید مدیریتش کنی
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
نقل قول:
نوشته شده توسط
shahryari
سلام
یه راه ساده اش اینه که اسم فایل بدذون پسوند بگیری در IO.Path و اسم پوشه تارگتت قرار بدی
مسئله ای که میمونه ویندوز به حروف بزرگ و کوچک حساسه که باید مدیریتش کنی
کدش رو میشه بزارید؟
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
نقل قول:
نوشته شده توسط
abbas3zaar
کدش رو میشه بزارید؟
یه چیزی تو این مایه ها میشه
string filePath = @"C:\\test\Ali.txt";
string targetFolder = @"D:\\" + System.IO .Path.GetFileNameWithoutExtension (filePath) + @"\" ; // D:\\Ali\
System.IO.File.Copy(filePath, targetFolder + System.IO .Path.GetFileName(filePath));
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
سلام
شما میتونی همون وقتی که پوشه داره ساخته میشه کپی هم انجام بدی
کد btnStart رو به این شکل تغییر بده:
private void btnStart_Click(object sender, EventArgs e)
{
string text = "";
foreach (var item in ListBox1.Items)
{
text = Path.GetFileNameWithoutExtension(item.ToString());
string activeDir = txtDirectoryPath.Text;
string newPath = System.IO.Path.Combine(activeDir, text);
System.IO.Directory.CreateDirectory(newPath);
string Source = String.Format(@"{0}\{1}.txt", activeDir, text);
string Target = String.Format(@"{0}\{1}.txt", newPath, text);
//File.Copy(Source, Target);
File.Move(Source, Target);
}
}
موفق باشی
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
نقل قول:
نوشته شده توسط
danialafshari
سلام
شما میتونی همون وقتی که پوشه داره ساخته میشه کپی هم انجام بدی
کد btnStart رو به این شکل تغییر بده:
private void btnStart_Click(object sender, EventArgs e)
{
string text = "";
foreach (var item in ListBox1.Items)
{
text = Path.GetFileNameWithoutExtension(item.ToString());
string activeDir = txtDirectoryPath.Text;
string newPath = System.IO.Path.Combine(activeDir, text);
System.IO.Directory.CreateDirectory(newPath);
string Source = String.Format(@"{0}\{1}.txt", activeDir, text);
string Target = String.Format(@"{0}\{1}.txt", newPath, text);
//File.Copy(Source, Target);
File.Move(Source, Target);
}
}
موفق باشی
خیلی ممنونم. فقط میشه برای تمامی پسوند فایل ها کار کنه؟ چیکار کنیم که فقط TXTرو انتقال نده و برای همه نوع پسوندی کار کنه؟
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
آقای افشاری برای همه نوع پسوند فایل چیکار باید کرد؟ اینجا فقط txt رو انجام میده
نقل قول: انتقال چندین فایل به چندین پوشه در سی شارپ
نقل قول:
نوشته شده توسط
abbas3zaar
آقای افشاری برای همه نوع پسوند فایل چیکار باید کرد؟ اینجا فقط txt رو انجام میده
باید با پسوند لیست کنی و پسوندشو استخراج و جایگیزین .txt در کد کنی