文件夹1:
C:\文件1-XPT
C:\文件1,PPT
C:\文件1-ZZZ
C:\文件2-n可
C:\文件2,DKL
C:\文件2-DLZ
string [] AllFilesInDirectory = Directory.GetFiles(SelectedDirectory);
我想将带有前缀“File1”的所有文件移动到文件夹2.
答案 0 :(得分:1)
var query = AllFilesInDirectory.Where(x => Path.GetFileName(x).StartsWith("File1"));
foreach (string file in query)
{
File.Move(file, @"C:\Folder2");
}
编辑:
根据评论。如果只知道子字符串,则可以使用Contains
。注意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");
}