我正在尝试遍历特定目录,直到找到包含某个子字符串的文件。有问题的文件是一个XML文件,用于Python和Autocad C#插件之间的参数通信。
这是我到目前为止所完成的内容。
在Python中创建包含所需参数的XML文件。
将该文件另存为xrefTester_(currentDateTime).xml
C:\Temp\
以下是我仍需要完成的内容:
在C#中使用无限循环来查找创建的XML文件。
找到文件后,将.bak
添加到其末尾,以便我的循环知道以后将其传递(这是因为包含子字符串xref_tester
的多个XML文件将存在在C:\Temp\
我设置了无限循环,我在目录中获取文件没有问题。但是,我无法断言包含xrefTester
且不以.bak
结尾的文件存在。
答案 0 :(得分:2)
我不知道你曾尝试过什么或者你被困在哪里,但我会用这样的东西:
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
}