0

今月 30 日に、ディレクトリ内の何千ものフォルダーを手動で調べて、特定の日付に作成されたフォルダー内のすべてのフォルダーとファイルを削除する必要があるタスクがあります。

私はこれを処理する簡単なプログラムを書くことができると考えています。UNC パスのテキスト ボックス、日付を渡す日時ピッカー、ファイルを削除するボタンを備えた winform があります。これまでのところ、私はこれを持っているだけで、正しい道を進んでいることを確認したい.

Imports System.IO

Public Class FormMain

    Private Sub btn_DeleteFolders_Click(sender As Object, e As EventArgs) Handles btn_DeleteFolders.Click
        Dim UNC As String = tb_UNC.Text
        Dim FDate As String = dt_FolderDate.Value.Date
        Dim FPath As New System.IO.DirectoryInfo(UNC)
        Dim CreatedDate As String = way to find the created date of a folder??
        'MessageBox.Show(FPath)

        For Each f As String In Directory.EnumerateFiles(UNC, FDate, SearchOption.AllDirectories)
            If FDate = CreatedDate Then

                File.Delete(UNC)

            End If
        Next

    End Sub
End Class

どんな助けでも素晴らしいでしょう!!! ありがとうございました!

4

3 に答える 3

0

これはどう:

Private Sub Button8_Click(sender As System.Object, e As System.EventArgs) Handles Button8.Click
    Dim sPath As String = "P:\ToDropBox"
    Dim dtCreateDate As Date
    For Each SFolder As String In IO.Directory.GetDirectories(sPath)
        dtCreateDate = IO.Directory.GetCreationTime(SFolder)
        If dtCreateDate.ToShortDateString = Now.ToShortDateString Then
            Process.Start("cmd.exe", "/C rd /s " & SFolder)
        End If
    Next
End Sub

サンプルは「今日」に作成されたフォルダーを削除するので、それは望ましくありません....確実にするために、日付制限チェックをいくつか入れます。

DOS コマンドは ay/n のプロンプトを出しますが、勇気があるならそれを抑制するスイッチがあると思います。パスにスペースが含まれている場合は、パスを二重引用符で囲む必要があります。 http://ss64.com/nt/rd.html

于 2013-09-20T19:45:52.413 に答える