Rekursiv Dateien mit identischen Namen, unterschiedlicher Endung und älterem Editier-Datum verschieben
Hallo,
ich will:
Finde rekursiv alle odt und doc Dateien, wo NAME.odt = NAME.doc
UND
Finde rekursiv alle ods und xls Dateien, wo NAME.ods = NAME.xls
Output die jeweilige Datei mit dem älteren Editier-Datum nach $env:tmp\00_Log
UND
verschiebe die jeweilige Datei mit dem älteren Editier-Datum nach $env:tmp\00_Test_RESULT
Ich komme hier nicht weiter:
Hat jemand einen Tip ?
Danke.
ich will:
Finde rekursiv alle odt und doc Dateien, wo NAME.odt = NAME.doc
UND
Finde rekursiv alle ods und xls Dateien, wo NAME.ods = NAME.xls
Output die jeweilige Datei mit dem älteren Editier-Datum nach $env:tmp\00_Log
UND
verschiebe die jeweilige Datei mit dem älteren Editier-Datum nach $env:tmp\00_Test_RESULT
Get-ChildItem -Path $env:tmp\00_PS\00_Test -name -Recurse -Force -Include '*.ods','*.xls','*.odt','*.doc' |
$lastModifiedDate = (Get-Item "??XX??").LastWriteTime
$dateA= $lastModifiedDate
$dateB= (Get-Item "??YY??").LastWriteTime
if ($dateA -ge $dateB) {
Write-Host("??XX??" .....)
} else {
Write-Host("??XX??" .....)
}
Hat jemand einen Tip ?
Danke.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 451741
Url: https://administrator.de/contentid/451741
Ausgedruckt am: 25.11.2024 um 05:11 Uhr
4 Kommentare
Neuester Kommentar
md "$env:tmp\00_Test_RESULT" -force | out-null
dir "$env:tmp\00_PS\00_Test" -File -Recurse -Include '*.ods','*.xls','*.odt'.'*.doc' | Sort LastWriteTime | group Basename | ?{$_.Count -gt 1} | %{
$_.Group | select -First 1 | move-item -destination "$env:tmp\00_Test_RESULT" -Verbose
}
Naja das ist ja wohl simpel, wenn du dir mal den Code anschaust
Mit
Bekommst du ja das entsprechende Dateiobjekt, also brauchst du den Namen der Datei einfach nur ausgeben.
Hätte man eigentlich auch selbst rausbekommen können ...
Mit
$_.Group | select -First 1
($_.Group | select -First 1).Fullname | Add-Content "$env:tmp\00_PS\00_Test_LOG.txt"