我试着比较这两个文件名。
我构建了一个文件名,然后将其与目录中的文件名进行比较。我的代码无法比较字符串。请告诉我,我做错什么了?没有错误,但字符串从来都不是相等的。
DateTime dt = DateTime.Now;
Filename = "Account Daily " + dt.ToString("yyyy-MM-dd") + " .xslx";
FileInfo[] folderFiles = null;
folderFiles = dir1.GetFiles();
foreach (FileInfo aFile in folderFiles)
{
if (String.Compare(aFile.ToString(),Filename) == 1)
{
// Send email with this attachment
}
}发布于 2017-11-13 14:54:39
FileInfo.ToString()返回整个访问路径(例如,c:/temp/ file.xml)
来源:https://msdn.microsoft.com/library/system.io.fileinfo.tostring(v=vs.110).aspx
不幸的是,您分配给Filename变量的值是一个没有访问路径的普通文件名。因此,它不能等于FileInfo.ToString()给您的任何东西。
建议:您可以使用aFile.ToString()而不是aFile.Name
发布于 2017-11-13 15:00:23
如果您所要做的只是检查某个文件夹中是否有特定的文件,那么您可以使用具有搜索模式参数的GetFiles()重载来查找具有今天日期的文件:
Directory.GetFiles("c:\\my\\path", $"*{DateTime.Now.ToString("yyyy-MM-dd")}.xlsx");https://stackoverflow.com/questions/47266996
复制相似问题