我正在用 c# 编写一个控制台应用程序来检查 sql server 表中的文件 'id' 是否与本地目录中文件的文件名匹配...我知道如何使用文件名来检查位置(所有这些都是检查文件是否存在于本地目录中)...
例如,如果 sql 表中有一个值为 '925677bb-cabb-4ff1-8c90-3e130a77b366'...存在,即'925677bb-cabb-4ff1-8c90-3e130a77b366.jpg'
最好的方法是什么?
像这样使用Directory.GetFiles()
string []files = Directory.GetFiles(@"C:\", "925677bb-cabb-4ff1-8c90-3e130a77b366*.jpg")
这样,您将在 C:\ 目录中获取所有以指定字符串开头的文件
因此,如果数组files
为空,则没有类似的文件,否则至少有一个。
您可以使用以下File.Exists
功能:
string id = ... go and fetch from your db
string filename = Path.ChangeExtension(Path.Combine(@"c:\somefolder", id), ".jpg");
if (File.Exists(filename))
{
// the file c:\somefolder\925677bb-cabb-4ff1-8c90-3e130a77b366.jpg exists
}