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.
Please also mark the comments that contributed to the solution of the article
Content-Key: 451741
Url: https://administrator.de/contentid/451741
Printed on: April 19, 2024 at 19:04 o'clock
4 Comments
Latest comment
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"