Hirdetés

Keresés

Új hozzászólás Aktív témák

  • modder

    aktív tag

    válasz Jim-Y #6421 üzenetére

    Én valami ilyesmit próbálnék, nem ellenőriztem, hogy működik-e, de kíváncsi lennék mennyit fut :)

    A $fileMap egy asszociatív tömb lesz, aminek az elemei listák az ugyanolyan nevű és méretű fájlok elérési útjáról. A végén csak azokat íratom ki, ahol ennek a listának a mérete nagyobb, mint 1, mert az azt jelenti, hogy több elérési út is tartozott ugyanahhoz a névhez és mérethez, tehát duplikált a fájl.

    $loc = get-location
    $files = get-childitem -Path $loc -Recurse | where {$_.Length -gt 0}
    $length = $files.length
    $fileMap = @{}

    for($i=0;$i -lt $length;++$i){
    $file = $files[$i]
    $key = $file.Name + $file.Length

    if($fileMap.ContainsKey($key)){
    $fileMap[$key] += file.FullName
    } else {
    $fileMap[$key] = @(file.FullName)
    }

    }

    foreach($duplicates in $fileMap.GetEnumerator()){
    if($duplicates.length > 1){
    Write-Host $duplicates.Name ( $duplicates.Value )
    }
    }
    $fileMap > fileMap.txt

Új hozzászólás Aktív témák