我试图让我的脚本工作,但似乎正在创建不正确的预期结果。我有一个包含 1000 个压缩文件的文件夹,格式为“Processedyyyddmmhhmmss.xml.gz”。我正在尝试将文件移动到另一个服务器位置,并根据创建日期将它们放置在过时的文件夹中。我发现创建的日期不正确,文件被放置在文件夹中,但分散在不同的日期,我无法找到一个合乎逻辑的方法来完成这个。这是我所拥有的:
Dim files As String() = Directory.GetFiles(directoryStuff)
For i As Integer = 0 To files.Count - 1
counter += 1
If files(i).EndsWith(".gz") Then
templist.Add(files(i))
Else
Continue For
End If
If counter >= 100 Then
Dim objInfo As New FileInfo(files(0))
Dim filedate As String = Regex.Replace(objInfo.Name, ".*P_", "")
'我将上述行从 Dim filedate As String = objInfo.CreationTime.ToString("yyyyMMddhhmmss")
因为我找错了日期
filedate = filedate.Remove(14)
Dim destDirectory As String = finalDestination & pathName + filedate & "\"
Directory.CreateDirectory(destDirectory)
For j As Integer = 0 To templist.Count - 1
Dim ff As String = templist.Item(j)
objInfo = New FileInfo(ff)
Dim filename As String = objInfo.Name
If Not ff.Contains("error") Then
File.Move(ff, destDirectory + filename)
File.Delete(ff)
End If
Next
templist.Clear()
End If
Next
如您所见,逻辑是有缺陷的。我想要的是根据文件的创建日期对文件进行分组,并将它们放在相应日期的文件夹中。我不确定如何比较文件夹中下一个创建的日期时间并相应地分隔文件。任何建议表示赞赏。