-
Fototrend

Ú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!
- Napelem
- Suzuki topik
- Rövid időre leállhat a 8 GB-os GeForce RTX 5060 Ti gyártása
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Luck Dragon: Asszociációs játék. :)
- Milyen billentyűzetet vegyek?
- Óvodások homokozója
- Építő/felújító topik
- Poco F8 Ultra – forrónaci
- Xiaomi 15T Pro - a téma nincs lezárva
- További aktív témák...
- Új Honor Magic 6 Lite Green
- Garanciális Meta Quest 3 128GB + garanciális BOBOVR S3 PRO fejpánt 2 db akksival
- Apple MacBook Pro 16" M4 Max 14C CPU / 32C GPU / 36 GB / 1TB / Bolti Ára 1.7M
- Weikav Record Alice mechanikus billentyűzet
- Precision 3571 27% 15.6" FHD IPS i7-12800H T600 32GB 512GB NVMe IR kam gar
- LG UltraGear 27GR95QL-B OLED Monitor! LOL Editions - 2560 x 1440 / 240 Hz / 0.03ms / G-SYNC
- iPhone 17 256 GB Levander - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok - Számlás
- Lenovo T14 Gen 1 Ryzen 5 pro 4650U, 16GB RAM, 512GB SSD, jó akku, számla, garancia
- iPhone 13 128GB 100% (1év Garancia) - ÚJ EREDETI AKKUMULÁTOR
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3060 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest



