为了账号安全,请及时绑定邮箱和手机立即绑定

如何将文件移动到多个文件夹?

如何将文件移动到多个文件夹?

C#
守着一只汪 2022-12-31 13:14:29
我有多个文件夹。它们以文件扩展名命名。(例如:- doc、dwg、jpg.....等)我的列表框数据源有更多文件。(例如:- abc.dwg、beauty.jpg、arc.doc.....)我想移动文档文件到 doc 文件夹,jpg 文件到 jpg 文件夹,dwg 文件到 dwg 文件夹...等等如何做单击按钮>>“创建文件夹”按钮使用List<string> fileNames = null;List<string> fileExtensions = null;private void btn_list_Click(object sender, EventArgs e){    listBox_ex.Items.Clear();    using (FolderBrowserDialog FBD = new FolderBrowserDialog())    {        if (FBD.ShowDialog() == DialogResult.OK)        {            lbl_path.Text = FBD.SelectedPath;            fileNames = Directory.GetFiles(FBD.SelectedPath).ToList();            fileExtensions = fileNames.Select(item => Path.GetExtension(item)                .Replace(".", "")).Distinct().OrderBy(n => n).ToList();            listBox_name.DataSource = fileNames.Select(f => Path.GetFileName(f)).ToList();            listBox_ex.DataSource = fileExtensions;        }    }}private void btn_CreateFolder_Click(object sender, EventArgs e){    using (FolderBrowserDialog FBD = new FolderBrowserDialog())    {        if (FBD.ShowDialog() == DialogResult.OK)        {            lbl_pathCreated.Text = FBD.SelectedPath;            fileExtensions.ForEach(item =>                Directory.CreateDirectory(Path.Combine(FBD.SelectedPath, item)));        }    }}
查看完整描述

1 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

简短的回答是您只需调用File.Move, 并将现有文件的完整路径作为第一个参数传递,并传递目标的完整路径和文件名。


您可以构建目标路径,然后像这样移动文件:


foreach (string file in fileNames)

{

    // Build the destination path

    var destination = Path.Combine(

        FBD.SelectedPath,                           // The root destination folder

        Path.GetExtension(file).Replace(".", ""),   // The file extension folder

        Path.GetFileName(file));                    // The file name (including extension)


    // Move the file

    File.Move(file, destination);

}


查看完整回答
反对 回复 2022-12-31
  • 1 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信