Variabler Ordnername VB.Net
Servus,
also ich habe einen Ordner an dem immer ein Datum angehängt ist, diesen Variablen namen müsste ich irgendwie auslesen, kann mir da jemand weiterhelfen?
Als cmd habe ich das so gelöst, wie kann ich das in VB.Net umsetzen?
also ich habe einen Ordner an dem immer ein Datum angehängt ist, diesen Variablen namen müsste ich irgendwie auslesen, kann mir da jemand weiterhelfen?
Als cmd habe ich das so gelöst, wie kann ich das in VB.Net umsetzen?
FOR /f "delims=" %%i IN ('DIR \\%server%%path%\service* /B') DO @set "folder=%%~nxi"
c:\windows\system32\robocopy \\%server%%path%%folder%\ C:\Service-CD\ /MIR
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 282599
Url: https://administrator.de/contentid/282599
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
12 Kommentare
Neuester Kommentar
Hi,
E.
also ich habe einen Ordner an dem immer ein Datum angehängt ist, diesen Variablen namen müsste ich irgendwie auslesen, kann mir da jemand weiterhelfen?
Wie angehängt? Mit Leerzeichen dazwischen, oder Punkt oder Komma oder Klammer oder gar nichts dazwischen? Dim µDI As New System.IO.DirectoryInfo("........") 'hier den Ordnerpfad eintragen
Dim µParts() As String = µDI.Name.Split(".") 'hier das Trennzeichen eintragen; ich habe "." angenommen
Dim µDate As Date = CDate(µParts.Last)
E.
For Each µFolder As String In System.IO.Directory.GetDirectories("......", "Service????????")
Try
Dim µDI As New System.IO.DirectoryInfo(µFolder)
Dim µD As String = µDI.Name.Substring(µDI.Name.Length - 8)
Dim µDate As New Date(CInt(µD.Substring(0, 4)), CInt(µD.Substring(4, 2)), CInt(µD.Substring(6, 2)))
My.Computer.FileSystem.CopyDirectory(µFolder, "C:\Service-CD\" & µFolder.Split("\").Last, True)
Catch ex As Exception
'dann ist es wohl kein Datum am Ende
End Try
Next
Die "?" sind Wildcards. Nicht ersetzen!
Oder auch mit etwas Lambda Expressions:
Gruß grexit
Dim r As New System.Text.RegularExpressions.Regex("\d{8}$")
Try
For Each mydir As String In System.IO.Directory.GetDirectories("C:\Ordner", "Service*").Where(Function(d) r.IsMatch(d))
My.Computer.FileSystem.CopyDirectory(mydir, "C:\Service-CD\" & System.IO.Path.GetFileName(mydir))
Next
msgbox("Finished")
Catch ex As Exception
MsgBox(ex.Message)
End Try
dazu musst du mit Threads (Backgroundworker/Thread/ etc.) arbeiten, da sonst der Thread das UI blockiert ...
Noch was wegen dem Kopieren, wenn ich nur den Inhalt des Ordners mydir haben möchte kann ich das dann so lösen?
?? Nein, erster Parameter muss ein Ordner sein. Sprich mal deutlich was du erreichen willst.Und mach mal einen Kurs ... bevor du hier das Forum mit sämtlichen VB.Net Grundlagen-Fragen rein haust ... The Reference is your friend