Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript Visual Basic比较文件任务_Vbscript_File Comparison - Fatal编程技术网

Vbscript Visual Basic比较文件任务

Vbscript Visual Basic比较文件任务,vbscript,file-comparison,Vbscript,File Comparison,我目前有一段代码,仅当每个文件有一列时,才会在两个文件之间进行比较: Const ForReading = 1 Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile1 = objFSO.OpenTextFile("C:\Users\Downloads\Define Kickouts\Metadata_Account.txt", ForReading) strCurrentDevices = objFile1.Rea

我目前有一段代码,仅当每个文件有一列时,才会在两个文件之间进行比较:

Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile1 = objFSO.OpenTextFile("C:\Users\Downloads\Define Kickouts\Metadata_Account.txt", ForReading)
strCurrentDevices = objFile1.ReadAll
objFile1.Close

Set objFile2 = objFSO.OpenTextFile("C:\Users\Downloads\Define Kickouts\DataFile_Account.txt", ForReading)
Do Until objFile2.AtEndOfStream
    strAddress = objFile2.ReadLine
    If InStr(strCurrentDevices, strAddress) = 0 Then
        strNotCurrent = strNotCurrent & strAddress & vbCrLf
    End If
Loop
objFile2.Close

Wscript.Echo "Addresses without current devices: " & vbCrLf & strNotCurrent
Set objFile3 = objFSO.CreateTextFile("C:\Users\Downloads\Define Kickouts\Differences.txt")
objFile3.WriteLine strNotCurrent
objFile3.Close
但是,我试图找到一种方法来创建脚本,用户可以在其中定义日期文件中的哪些列与同一组元数据文件进行比较


例如,在数据文件中,如果要比较帐户、实体和部门成员,则在脚本中,我们将根据标题中的位置键入第1、4、5列

Account, Project, Practice, Entity, Department  
GL1000,P5000,PP2000,USA,D120  
GL2000,P6000,PP3000,CANADA,D220  

然后,脚本将“始终”与每个元数据文件中的第一列进行比较

Account.csv

First column sample values:  
GL5000,blah,blah,blah  
GL1000,blah,blah,blah  
First column sample values:  
ASIA,blah,blah,blah  
CANADA,blah,blah,blah  
First column sample values:  
D100,blah,blah,blah  
D200,blah,blah,blah  
Entity.csv

First column sample values:  
GL5000,blah,blah,blah  
GL1000,blah,blah,blah  
First column sample values:  
ASIA,blah,blah,blah  
CANADA,blah,blah,blah  
First column sample values:  
D100,blah,blah,blah  
D200,blah,blah,blah  
Department.csv

First column sample values:  
GL5000,blah,blah,blah  
GL1000,blah,blah,blah  
First column sample values:  
ASIA,blah,blah,blah  
CANADA,blah,blah,blah  
First column sample values:  
D100,blah,blah,blah  
D200,blah,blah,blah  

输出文件将从数据文件中删除不在每列元数据文件中的内容

Account Kickout.txt
GL2000

实体Kickout.txt
美国

部门启动.txt
D120
D220



任何帮助都将不胜感激

你需要这样做吗?类似但不能互换。您的文件都是CSV吗?它们可能包含嵌入逗号的值吗?一种方法是将“元数据”文件读入一个行数组(
ReadAll
newline上的
Split()。读取第二个文件时执行类似操作(逐行拆分,然后从第一个文件中挑选感兴趣的项目并针对锯齿状数组运行)Vbscript。实际上,数据或元数据文件可以是csv或txt。