Visual C#:将具有相同扩展名的多个文件移动到另一个目录中

时间:2014-05-02 09:26:56

标签: c# file move

人。我遇到了一个无法解决的问题: 我有两个文件夹,我选择了folderBrowserDialog和源目录中的大量文件,我需要移动到目标目录。但是,我只需要移动具有特定扩展名的文件,例如.txt或我可以从文本框中获得的任何其他扩展名。 那我怎么能这样做呢?

2 个答案:

答案 0 :(得分:8)

首先使用Directory.GetFiles()获取具有指定扩展名的所有文件,然后遍历列表中的每个文件并将它们移动到目标目录。

//Assume user types .txt into textbox
string fileExtension = "*" + textbox1.Text;

string[] txtFiles = Directory.GetFiles("Source Path", fileExtension);

foreach (var item in txtFiles)
{
   File.Move(item, Path.Combine("Destination Directory", Path.GetFileName(item)));
}

答案 1 :(得分:1)

试试这个:

用于复制文件......

foreach (string s in files)
{
   File.Copy(s, "C:\newFolder\newFilename.txt");
}

用于移动文件

foreach (string s in files)
{
   File.Move(s, "C:\newFolder\newFilename.txt");
}

将文件移至目录的示例:

string filepath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
DirectoryInfo d = new DirectoryInfo(filepath);

foreach (var file in d.GetFiles("*.txt"))
{
      Directory.Move(file.FullName, filepath + "\\TextFiles\\" + file.Name);
}

Move从桌面到目录的所有filesTextFiles”。