0

スクリプトを機能させようとしていますが、期待どおりの結果が得られないようです。「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

ご覧のとおり、ロジックに欠陥があります。私がしたいのは、作成日に従ってファイルをグループ化し、それに応じて日付の付いたフォルダーに配置することです。フォルダー内で次に作成された日時を比較し、それに応じてファイルを分割する方法がわかりません。アドバイスをいただければ幸いです。

4

1 に答える 1