Hirdetés
-
PROHARDVER!

Új hozzászólás Aktív témák
-
Jim-Y
veterán
Közben próbálkoztam 1-2 dologgal
1: az eredeti
$loc = get-location
$files = get-childitem -Path $loc -Recurse | where {$_.Length -gt 0}
$length = $files.length
$multiples = @()
$rows = 0
$groups = 0
[int]$10n = $length*0.1
[int]$20n = $length*0.2
[int]$30n = $length*0.3
[int]$40n = $length*0.4
[int]$50n = $length*0.5
[int]$60n = $length*0.6
[int]$70n = $length*0.7
[int]$80n = $length*0.8
[int]$90n = $length*0.9
[int]$100n = $length
for($i=0;$i -lt $length;++$i){
$ismultiple = 0
$tempi = $files[$i]
switch($i)
{
$10n { write-host "10%" }
$20n { write-host "20%" }
$30n { write-host "30%" }
$40n { write-host "40%" }
$50n { write-host "50%" }
$60n { write-host "60%" }
$70n { write-host "70%" }
$80n { write-host "80%" }
$90n { write-host "90%" }
$100n { write-host "100%" }
}
if($multiples -contains $tempi.FullName){ } else {
for($j=$i+1;$j -lt $length;++$j){
$tempj = $files[$j]
if($tempj.Name -eq $tempi.Name -and $tempj.Length -eq $tempi.Length){
$multiples += $tempj.FullName
$rows++
$ismultiple = 1
}
}
if($ismultiple){
$multiples += $tempi.FullName
$rows++
$groups++
$multiples += "`n"
}
}
}
$multiples += "$loc folder has $length files, there are $groups files multiplied,`n and you could delete $($rows-$groups) files from the $rows multiplications!"
$multiples > multiples.txtEz a tesztmappán ~21-22mp-ig futott
2: nem tömbbe írós, hanem fileba:
Ebben a verzióban a $multiples tömb helyett amit a végén fájlba írok, egy fájlhozz appendelem szekvenciálisan a dolgokat
$multiples = @() -> New-Item multiples.txt -type file -force
$multiples += $files[$j].FullName ->
Add-Content multiples.txt -value $files[$j].FullName
stb..Ez a tesztmappán 1-2mp-el futott hosszabb ideig mint az első
3: hashmap
Sajnos nem sikerült olyan sszociatív tömböt csinálnom ahol a key-nek megette volna a fájl nevét
Így egy .NET-es ArrayList-el próbálkoztam. Sajnos ez fut legtovább, a tesztmappán olyan 24mp-ig..$loc = get-location
$hashTable = New-Object System.Collections.ArrayList(,(get-childitem -Path $loc -Recurse | where {$_.Length -gt 0}))
$duplications = New-Object System.Collections.ArrayList($null)
$rows = 0
$groups = 0
$length = $hashTable.Count
for($i=0;$i -lt $length;++$i){
$ism = 0
if($duplications.Contains($hashTable.Item($i).FullName)){ } else {
$temp = $hashTable.Item($i)
for($j=$i+1;$j -lt $length;++$j){
$tempj = $hashTable.Item($j)
if($tempj.Name -eq $temp.Name -and $tempj.Length -eq $temp.Length){
$duplications.Add($tempj.FullName)
$rows++
$ism = 1
}
}
if($ism) {
$rows++
$groups++
$duplications.Add($temp.FullName)
$duplications.Add("`n")
}
}
}
Write-Host "$length files, there are $groups files multiplied,`n and you could delete $($rows-$groups) files from the $rows multiplications!"
$duplications > multiples.txtMost véletlenül az egész partíció gyökerére futtattam le az első verziót, 10perc alatt csinált meg 10%-ot

Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Energiaital topic
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kétezer eurós csomag lehet a Vivo X300 Ultra
- A fociról könnyedén, egy baráti társaságban
- Mesterséges intelligencia topik
- Poco F8 Ultra – forrónaci
- The Division 2 (PC, XO, PS4)
- Lalikiraly: Mercis kalandok - Huszonnyolcadik rész - Az újrakezdés
- Xiaomi 17 Ultra - jó az optikája
- Xiaomi 15T Pro - a téma nincs lezárva
- További aktív témák...
- Samsung Galaxy S24 FE 128 GB + Samsung Galaxy Buds3 + Samsung Galaxy Fit3 - Csere/Beszámítás OKÉ
- 27% - MSI Mag Coreliquid A13 360 ARGB
- Samsung Galaxy S24 Ultra 256 GB + Samsung Galaxy Buds3 + Samsung Galaxy Fit3 - Csere/Beszámítás OKÉ
- 27% - BeQuiet! Pure Loop 2 FX 360mm Vízhűtés!
- LG UltraGear 34GP63AP-B VA Monitor! 3440x1440 / 160Hz / 1ms / FreeSync
- 227 - Lenovo LOQ (15IRX10) - Intel Core i7-13650HX, RTX 5060
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Lenovo T490S i5 8365U, 16GB RAM, 256GB SSD, jó akku, számla, 6 hó gar
- HIBÁTLAN iPhone 15 Plus 256GB-1 ÉV GARANCIA - Kártyafüggetlen, MS4529
- Gamer/streamer mikrofon, állvány és USB HUB kitűnő árakon!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

Így egy .NET-es ArrayList-el próbálkoztam. Sajnos ez fut legtovább, a tesztmappán olyan 24mp-ig..

