VB脚本 - 比较两个csv文件并根据结果创建第三个

时间:2014-01-20 17:47:27

标签: vbscript

我一直致力于一个小型的vbscript项目,并希望在编码的下一阶段提供一些建议。我不确定前进的最佳方法是什么,虽然我假设我将不得不使用动态数组和某种形式的循环。

第一阶段查询SQL数据库并将输出导出到分隔文件。让我们称之为ListA.csv。这包括2列;文件,修改日期(例如MyFile.doc,17/01/2014 12:00:45)。每行1条记录。它可能有数百个条目。

第二阶段执行类似的工作,但查询本地文件结构以获取类似信息。唯一的例外是它还包含文件路径的额外列。让我们称之为ListB.csv。 (例如MyFile.doc,17 / 01/2014 13:00:45,C:\ Myfolder \ Myfile.doc)。再次,这是每行一条记录。

我需要帮助的下一个工作是将文件B中的条目与文件A中的条目进行比较,并基于三个测试创建第三个文件列表(ListC.csv)。 1.在ListA上找不到ListB上列出的文件名 2. ListB上列出的文件名可在ListA上找到,但比ListA版本旧。 3. ListB上列出的文件名可在ListA上找到,但ListA修改日期少于14天(从今天开始)。

除了我认为它是我正在努力的家政解决方案的一部分之外,我不会厌倦你这样做的原因。我们非常感谢正确方向上的一点。

最后阶段是删除或存档,但我手头有这个。

提前致谢。

2 个答案:

答案 0 :(得分:0)

我会看看这个链接。 Find if listA contains any elements not in listB这基本上就是我首先要提出的建议。我假设你在某些时候正在阅读这两个文件。我的建议是在阅读时创建IEnumerable。这将为您提供更好的控制。 除了函数是LINQ很棒。

答案 1 :(得分:0)

您的问题应该通过使用SQL来解决。因此,要么将第二个文件导入DBMS,要么通过ADO / Text驱动程序连接到包含两个文件的文件夹。然后创建合适的查询(关键字:INSERT / SELECT INTO,(LEFT)JOIN)。

看看here