使用c#只从文件夹中移动第一个.txt文件
本文关键字:移动 第一个 txt 文件 文件夹 使用 | 更新日期: 2023-09-27 18:13:20
简单的问题,我知道您可以使用FileMove
将文件从一个路径移动到另一个路径。我的问题是,如何从文件夹中移动任何类型的文件(.mp3
, .txt
, .avi
) 只有第一个 .txt文件从文件夹1到文件夹2?
您可以将通配符传递给Directory.EnumerateFiles()
:
string filename = Directory.EnumerateFiles("Your search folder here", "*.txt").Min();
if (filename != null)
{
// ... Do something with filename
}
Enumerable.Min()
将返回序列中的'最小'字符串(即按字母顺序排列的第一个字符串),如果序列为空,则返回null
。
这是有效的,因为当你传递一个通配符,如*.txt
到Directory.EnumerateFiles()
,它调用一个Windows API方法,只返回'.txt'文件。
Directory.GetAllFiles(@"path/to/files")
.Select(f => new FileInfo(f))
.First(f => f.Extension == "txt");
如果目录中没有文件,该命令将爆炸。如果目录中没有文本文件,它也会爆炸。这也取决于你对"First"的定义
可以使用GetFiles
string[] files = System.IO.GetFiles(@"C:'users'youruser'documents'", *.txt);
if(files.GetLength(0) != 0)
{
System.IO.File.Move(files[0],pathyouwanttomoveitto);
}