robx
Goto Top

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

Get-ChildItem -Path $env:tmp\00_PS\00_Test -name -Recurse -Force -Include '*.ods','*.xls','*.odt','*.doc' |   
Ich komme hier nicht weiter:
$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.

Content-Key: 451741

Url: https://administrator.de/contentid/451741

Printed on: April 19, 2024 at 19:04 o'clock

Mitglied: 139708
Solution 139708 May 15, 2019 updated at 18:56:52 (UTC)
Goto Top
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  
}
Member: robx
robx May 16, 2019 at 11:01:49 (UTC)
Goto Top
War n kleiner Dreher drin, klappt jetzt prima, vielen Dank!
md "$env:tmp\00_PS\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_PS\00_Test_RESULT" -Verbose  
}
Hast Du noch Tip für:
Logging der jeweiligen Datei mit dem älteren Editier-Datum [ mit vollständigem Pfad ] nach
"$env:tmp\00_PS\00_Test_LOG.txt"  
?
Mitglied: 139708
Solution 139708 May 16, 2019 updated at 12:50:24 (UTC)
Goto Top
Naja das ist ja wohl simpel, wenn du dir mal den Code anschaust
Mit
$_.Group | select -First 1
Bekommst du ja das entsprechende Dateiobjekt, also brauchst du den Namen der Datei einfach nur ausgeben.
($_.Group | select -First 1).Fullname | Add-Content "$env:tmp\00_PS\00_Test_LOG.txt"  
Hätte man eigentlich auch selbst rausbekommen können ...
Member: robx
robx May 16, 2019 at 18:38:07 (UTC)
Goto Top
kompletter Newcomer mit PS: jeder fängt mal an ;)
Danke!