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

8

大家好。我有一个无法解决的问题: 我用folderBrowserDialog选择了两个文件夹,源文件夹中有大量文件需要移动到目标文件夹。但是,我只需要移动特定扩展名的文件,比如.txt或者其他我可以从文本框中获取的扩展名。 那么我该怎么做呢?


Ruff伪代码; DirectoryInfo (sourceDir +“*.somextension”).GetFiles().Foreach((a) => a.Move(targetDir)) - Marvin Smit
你能解释一下如何做或者给我一个链接吗? - baRUSHek
2个回答

11

首先使用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
尝试这个:

复制文件...

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);
}

将所有桌面上的文件移动到名为“TextFiles”的文件夹中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接