Vbscript Vbs脚本读取具有文件名的txt文件,然后搜索是否存在taht文件并移动另一个文件

Vbscript Vbs脚本读取具有文件名的txt文件,然后搜索是否存在taht文件并移动另一个文件,vbscript,Vbscript,我发现这个代码: Option Explicit ' .. Just coz. Const forReading = 1 ' Set our constants for later. Const forWriting = 2

我发现这个代码:

Option Explicit                                                               ' .. Just coz.
Const forReading = 1                                                          ' Set our constants for later.
Const forWriting = 2                                                          ' ....

Dim inputFile, outputFile, fso, fileList, logFile, fileSpec                   ' Dimension our variables

inputFile = "filelist.txt"                                                    ' Our input file
outputFile = "missing.txt"                                                    ' Our output file

Set fso = CreateObject("Scripting.FileSystemObject")                          ' Set up fso
Set fileList = fso.OpenTextFile(inputFile, forReading)                        ' Open our input file for reading
If Not (fso.FileExists(outputFile)) Then fso.CreateTextFile(outputfile)       ' Create output file if it doesn't exist
Set logFile = fso.OpenTextFile(outputFile, forWriting)                        ' Open up our output file for writing later

Do while not fileList.AtEndOfStream                                           ' While we have lines to process do this loop
    fileSpec = fileList.ReadLine()                                            ' Read in line of text as variable fileSpec
    If Not (fso.FileExists(fileSpec)) Then                                    ' If it doesnt exist ....
        logFile.writeline (fileSpec)                                          ' ....Write it out to the output file
    End If 
Loop

fileList.close                                                                ' Clean up
logFile.close   
这是对代码的解释

我还需要一件事。我需要将额外的文件从默认目录(它们不是写在filelist.txt中)移动到新目录中。在默认目录中,我只需要在filelist.txt中写入的文件。我不完全理解那个代码。我曾尝试重新编写该代码,但每次都失败。

设置问题(联合、差异等)可以用VBScript解决

您有两组文件名,一组来自源文件(SetF),一组来自默认目录(SetD)中的文件。在现有的SetF循环中,将名称存储在字典(DicF)中。然后在SetD(DefFolder.Files)上添加一个循环,并移动DicF中不存在的文件-如中所示:

>> SetF = Split("A D F G")
>> SetD = Split("B D G H")
>> Set DicF = CreateObject("Scripting.Dictionary")
>> For Each f in SetF
>>     DicF(f) = 0
>> Next
>> For Each f In SetD
>>     If Not DicF.Exists(f) Then
>>        WScript.Echo f
>>     End If
>> Next
>>
B
H
(参见)