1

文件夹 1:

C:\File1-xpt
C:\File1-ppt
C:\File1-zzz
C:\File2-ndo
C:\File2-dkl C:\
File2-dlz

string[] AllFilesInDirectory = Directory.GetFiles(SelectedDirectory);

我想将前缀为“File1”的所有文件移动到文件夹 2 中。

4

1 回答 1

1
var query = AllFilesInDirectory.Where(x => Path.GetFileName(x).StartsWith("File1"));
foreach (string file in query)
{
    File.Move(file, @"C:\Folder2");
}

编辑:基于评论。如果只知道子字符串,则可以使用Contains. 请注意使用 of Path.GetFileNameWithoutExtension,因为如果您正在搜索包含“txt”的文件(在这种情况下,只有第一个文件会匹配),这将能够处理像“txtFile1.txt”和“File1.txt”这样的文件名

var query = AllFilesInDirectory
           .Where(x => Path.GetFileNameWithoutExtension(x).Contains("File1"));
foreach (string file in query)
{
    File.Move(file, @"C:\Folder2");
}
于 2012-07-26T18:32:05.133 回答