【发布时间】:2021-01-12 01:30:18
【问题描述】:
现在我有一个程序可以自动将文件从一个文件夹移动到另一个文件夹一次。 因此,如果该文件再次进入该文件夹,则不应移动它。该应用程序每 30 分钟执行一次。
所以现在我所拥有的是,如果 LastWriteTime 超过 30 分钟,请不要移动它。它有效,但使用时间来评估这不是一个好的做法,而且我们已经有几个随之而来的错误。
为了进一步详细说明,我们有一个单独的 3rd 方应用程序,用于检查传入的文件,例如 C:\main\
如果检测到该文件有问题,它会将文件移动到C:\main\failed。现在我的脚本所做的是将它们移动到C:\main\ 一次(再次检查文件问题),如果它返回到C:\main\failed,则将其保留在那里。
我也知道将这些信息跟踪到一个单独的文件中,但是一旦发生错误,它可能会在内存方面出现问题。有其他更好的方法吗?
【问题讨论】:
-
在你的系统中保留一个
._move_history.txt文件相当于/tmp? -
这些文件有任何常规命名方案吗?你能检查你将文件移动到的位置,看看它是否已经存在吗?
-
@scohe001 tmp 清理文件的“时间表”是什么?根据我的阅读,它仅在启动时清除 tmp,这不是最佳的,因为 Windows 服务器 24/7 运行
-
@Spottel 为什么这不是最佳的?您是否正在执行如此多的动作,以至于文本文件可能会变得足够大而导致问题?如果是这样,您可以在加载文件时编写一些代码来清理文件(删除任何早于例如 24 小时的条目)。
-
命名方案各不相同,遗憾的是没有单一的模式(我们也有不同的客户......)为了进一步详细说明,我们有一个单独的第 3 方应用程序,用于检查文件,例如 C:\main \。如果检测到该文件有问题,它会将文件移动到 C:\main\failed。现在我的脚本所做的是将它们移动到 C:\main\ 一次(再次检查文件问题),如果它返回到 C:\main\failed,则将其保留在那里。