在此文件夹中,我有.OK文件和.text文件,我必须按特定顺序重命名包含此前缀('error_')但这些文件的文件,首先删除.text文件的前缀,然后删除我所有.OK文件的前缀,按此特定顺序。
下面的这段代码部分解决了我的问题,但是它将立即用所有包含“ Error_”前缀的文件替换为“”。
String longNumber = sc.next()
答案 0 :(得分:0)
以下代码只会重命名扩展名为.OK和.text的文件,如果您想按顺序进行操作,则对于每个“ if”条件,您可能会有两个for循环:
DirectoryInfo d = new DirectoryInfo(@"C:\MyPath");
FileInfo[] infos = d.GetFiles();
foreach (FileInfo f in infos)
{
if (f.FullName.EndsWith(".OK") || f.FullName.EndsWith(".text"))
File.Move(f.FullName, f.FullName.Replace("Error_", ""));
}
答案 1 :(得分:0)
您可以轻松移动文件。首先删除具有相同名称的文件
export =
答案 2 :(得分:0)
如果需要在.txt
文件之前更改.OK
文件,则可以在foreach循环中对FileInfo[]
数据进行排序
DirectoryInfo di = new DirectoryInfo(@"D:\temp");
FileInfo[] fileInfos = di.GetFiles();
foreach(var f in fileInfos.OrderByDescending(f => f.Extension))
{
Console.WriteLine(f.FullName);
}
这将首先遍历.txt
文件,然后遍历'OK
文件。
如果您想更加具体,则可以使用Where
对其进行过滤:
FileInfo[] fileInfos = di.GetFiles();
foreach(var f in fileInfos.Where(f => f.Extension == ".txt"))
{
Console.WriteLine(f.FullName);
}
您可以重构该代码以使其可用于不同的扩展名:-)