Ordner mit Zeitstempel auswerten und ggf. weitere Aktion ausführen (Batch, PowerShell, ggf. R)
Hallo liebe Experten,
ich habe das folgende Problem: Ich möchte die aktuellen Daten aus bestimmten Verzeichnissen weiterverarbeiten. Zuvor soll aber ermittelt werden, ob neuere Daten überhaupt vorhanden sind! Beispiel:
Datensatz_A mit Unterverzeichnissen: "20150627", "20160819", "data"
Datensatz_B mit Unterverzeichnissen: "20140813", "20171204", "data"
Datensatz_C (...)
(...)
Die zu verwendenden Daten liegen jeweils im "data"-Verzeichnis und werden mit anderen Scripten weiterverarbeitet.
Ich würde mit einem manuell eingegebenen Datum starten. Das Script soll dann die Ordner auswerten und nur dann die weiterführenden Scripte starten wenn jüngere Zeitstempel (siehe Datensatz_A bzw. _B) vorhanden sind. Ansonsten soll mit dem nächsten Datensatz weitergemacht werden.
Am Ende soll die manuell gesetzte Datums-Variable mit dem Datum der letzten Ausführung überschrieben werden und z.B. über einen Timeout in einer Woche erneut beginnen.
Kernfrage ist, wie ich den Abgleich der Zeitstempel-Ordner und einem manuell oder auch automatisch via date erzegtem Datum hin bekomme.
Ideen? Zur Verfügung stehen mir Batch, PowerShell und theoretisch auch R (falls es hilfreich wäre). Vielen Dank vorab!!
ich habe das folgende Problem: Ich möchte die aktuellen Daten aus bestimmten Verzeichnissen weiterverarbeiten. Zuvor soll aber ermittelt werden, ob neuere Daten überhaupt vorhanden sind! Beispiel:
Datensatz_A mit Unterverzeichnissen: "20150627", "20160819", "data"
Datensatz_B mit Unterverzeichnissen: "20140813", "20171204", "data"
Datensatz_C (...)
(...)
Die zu verwendenden Daten liegen jeweils im "data"-Verzeichnis und werden mit anderen Scripten weiterverarbeitet.
Ich würde mit einem manuell eingegebenen Datum starten. Das Script soll dann die Ordner auswerten und nur dann die weiterführenden Scripte starten wenn jüngere Zeitstempel (siehe Datensatz_A bzw. _B) vorhanden sind. Ansonsten soll mit dem nächsten Datensatz weitergemacht werden.
Am Ende soll die manuell gesetzte Datums-Variable mit dem Datum der letzten Ausführung überschrieben werden und z.B. über einen Timeout in einer Woche erneut beginnen.
Kernfrage ist, wie ich den Abgleich der Zeitstempel-Ordner und einem manuell oder auch automatisch via date erzegtem Datum hin bekomme.
Ideen? Zur Verfügung stehen mir Batch, PowerShell und theoretisch auch R (falls es hilfreich wäre). Vielen Dank vorab!!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 356971
Url: https://administrator.de/contentid/356971
Ausgedruckt am: 19.11.2024 um 07:11 Uhr
2 Kommentare
Neuester Kommentar
Das hier zeigt dir alle Datensatzordner in denen es einen Unterordner mit einem Datum im Namen gibt der jünger ist als das angegebene.
Ich gehe im Skript von folgender Ordnerstruktur aus:
Hoffe das habe ich so richtig interpretiert.
Viel Spaß damit ...
$mydate = get-date (Read-Host 'Bitte Datum eingeben [dd.mm.yyyy]')
gci "C:\Datensätze\*\*" -Directory | ?{$_.Name -match '^\d{8}$'} | ?{[dateTime]::ParseExact($_.Name,'yyyyMMdd',[cultureinfo]::CurrentCulture) -gt $mydate} | %{$_.Directory.Parent.Fullname} | select -Unique
C:\Datensätze\
|- Datensatz_A\
|
--- 20150627\
|
--- 20160819\
|
--- data\
|- Datensatz_B\
|
--- 20150627\
|
--- 20160819\
|
--- data\
wenn jüngere Zeitstempel
Das interpretiere ich im Skript als : Das Datum des Ordners (aus dem Ordnernamen gebildet) ist jünger als das beim Start angegebene Datum.Hoffe das habe ich so richtig interpretiert.
Viel Spaß damit ...