在目录中查找包含某个子字符串的文件
本文关键字:字符串 文件 包含某 查找 | 更新日期: 2023-09-27 18:21:10
我试图在特定目录中循环,直到找到一个包含特定子字符串的文件。有问题的文件是一个XML文件,用于Python和Autocad C#插件之间的参数通信。
以下是我迄今为止完成的内容
-
在Python中创建一个包含所需参数的XML文件。
-
在
C:'Temp'
中将该文件保存为xrefTester_(currentDateTime).xml
以下是我仍然需要完成的内容:
-
在C#中使用一个无限循环来查找创建的XML文件。
-
一旦找到文件,就在其末尾添加
.bak
,这样我的循环就知道将来要传递它(这是因为C:'Temp'
中将存在多个包含子字符串xref_tester
的XML文件
我已经设置了无限循环,并且在目录中获取文件没有问题。但是,我很难断言存在一个包含xrefTester
但不以.bak
结尾的文件。
我不知道你尝试了什么,也不知道你在哪里被卡住了,但我会使用这样的东西:
var xmlFiles = from file in Directory.EnumerateFiles(@"C:'Temp", "*.xml")
let fileName = Path.GetFileNameWithoutExtension(file)
where fileName.StartsWith("xrefTester_(") && !fileName.EndsWith(".bak")
select file;
foreach(string path in xmlFiles)
{
string dir = Path.GetDirectoryName(path);
string newFileName = string.Format("{0}{1}{2}",
Path.GetFileNameWithoutExtension(path),
".bak",
Path.GetExtension(path));
File.Move(path, Path.Combine(dir, newFileName)); // cannot exist due to logic above
}