【发布时间】:2013-12-25 02:41:52
【问题描述】:
所以我有一种搜索特定文件类型并将它们移动到文件夹中的方法,我希望它排除一些文件。目前按文件名排除,我的问题是如何通过 md5 哈希排除,以防排除的文件被重命名。
List<string> DeskTopFiles
= Directory.GetFiles(filepath, "*.exe*", SearchOption.AllDirectories)
.ToList();
foreach (string file in DeskTopFiles)
{
if (Path.GetFileName(file).ToLower() != "Whatever.exe")
FileInfo mFile = new FileInfo(file);
if (new FileInfo(d + "\\FileHolder\\" + mFile.Name).Exists == false)
mFile.MoveTo(d + "\\FileHolder\\" + mFile.Name);
}
}
所以这是我试图让它只检查 md5 的部分
if (Path.GetFileName(file).ToLower() != "Whatever.exe")
编辑:我想我必须检查我的 exe 的 md5,所以如果它从桌面运行,我将如何阻止它自行移动。目前通过 != name.exe 获得它,但我希望通过 md5 哈希获得它
【问题讨论】:
-
要检查文件是否匹配给定的 MD5 哈希,您需要计算该文件的 MD5 哈希。没有其他办法,除非你在某个地方预先计算好了。
-
如果不先计算md5,你想如何检查它?
-
你想如何在不计算的情况下检查文件的 MD5 哈希?除非您说文件“已编入索引”。
-
k,猜你的权利,我必须先计算它,基本上我不希望我的程序在桌面运行时自行移动。
-
它不会动,因为它正在被使用,所以会引发异常。