Hirdetés
-
PROHARDVER!

Új hozzászólás Aktív témák
-
Jim-Y
veterán
Sziasztok
PowerShellben csináltam egy olyan scriptet ami egy directoryban rekurzívan megnézi a duplikációkat, és a duplikált állományok nevét kigyűjti egy fájlba.
A problémám az, hogy az algoritmus amit használtam/írtam nagyon lassú. Ha ~2000 fájlt kell összehasonlítania az még viszonylag gyors 10,15mp, de 5500 állománnyal már percek óta szöszöl :S
megj: közben 2-3 perc múlva végzettAz ilyen rekurzív összehasonlítgatós dolgokat hogyan lenne célszerű megoldani?
Jelenleg a kódom:
$loc = get-location
$files = get-childitem -Path $loc -Recurse | where {$_.Length -gt 0}
$length = $files.length
$multiples = @()
for($i=0;$i -lt $length;++$i){
$ismultiple = 0
if($multiples -contains $files[$i].Name){ } else {
$elem = $files[$i]
for($j=$i+1;$j -lt $length;++$j){
if($files[$j].Name -eq $elem.Name -and $files[$j].Length -eq $elem.Length){
$multiples += $files[$j].FullName
$ismultiple = 1
}
}
if($ismultiple){
$multiples += $elem.FullName
$multiples += "`r`n`r`n"
}
}
}
$multiples > multiples.txtLátható, hogy először kigyűjtöm a fájlneveket egy tömbbe, majd az első rekordot keresem a fennmaradó elemek között, ha van duplikáció, akkor kiírom azokat a fájlba, és ugrok a második elemre.
Szinte biztos vagyok benne, hogy van ennél hatásosabb módszer, de már túl késő van ahhoz, hogy rájöjjek, hogy mi az
megj: haha, lehet csak azért szöszölt annyit, mert muter fél mappája duplikált, egy rahedli duplikációja van

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Apple MacBook Pro 16 (2021) 16GB/512GB használt, karcmentes 87% akku, 191 ciklus
- HP ELITE 8000 SFF PC: passzív VGA HDMI, C2D E8400 + 4GB RAM
- Rendelésre! 27% Áfás, Új, Bontatlan Apple Mac Studio M2 Ultra 24/60 mag, 64GB RAM, 2TB SSD
- Dell Latitude Precision Üzleti gépek, 2-in-1 gépek, 3-11. gen.
- 27% - HEIGAOLA MiniPC - / 10.1" Érintőképernyő! Intel J4125 / 8GB RAM /128GB SSD
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest




