eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingTaki sobie programik - czy już jest napisany?Re: Taki sobie programik - czy już jest napisany?
  • Data: 2010-07-16 18:11:36
    Temat: Re: Taki sobie programik - czy już jest napisany?
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    slawek <s...@h...pl> napisał(a):
    > Tak sie zastanawiam, czy sobie czegoś takiego samemu nie napisać - ale
    > może to już jest? Może jest już programik o takiej funkcjonalności (dla
    > MS Windows)?
    > Jak to ma działać?
    > Wkładam pendrive a program skanuje określone zasoby komputera (cały albo
    > jakiś folder, foldery, może otoczenie itd.) i sprawdza: które z plików na
    > pendrive są także gdzieś indziej niż na tym pendrive?
    > Dla jednego pliku - to trywialne. Dla paru? Nie wiem czy zrobienie listy
    > w rodzaju DSC0123.jpg;DSC3242.jpg;DSC3255.jpg dla np. 50 plików ma sens
    > - choć teoretycznie to możliwe. W dodatku takie wpisywanie w "szukaj"
    > raczej wygodne nie jest. A ma działać od XP w górę.
    > Ciągle łapię się na tym, że na pendrive mam pliki, które nie wiem czy są
    > gdziekolwiek indziej - czy też zostały wrzucone tam na chwilę, bo akurat
    > chciałem np. wydrukować je w jakimś samoobsługowym fotolabie?

    Przykład w PowerShellu, nazwy katalogów zahardkodowane ale można sobie
    zmienić żeby były sparametryzowane.

    function Get-MD5([System.IO.FileInfo] $file = $(throw 'Usage: Get-MD5
    [System.IO.FileInfo]'))
    {
    $stream = $null;
    $cryptoServiceProvider =
    [System.Security.Cryptography.MD5CryptoServiceProvid
    er];
    $hashAlgorithm = new-object $cryptoServiceProvider
    $stream = $file.OpenRead();
    $hashByteArray = $hashAlgorithm.ComputeHash($stream);
    $stream.Close();
    trap
    {
    if ($stream -ne $null)
    {
    $stream.Close();
    }
    break;
    }
    foreach ($byte in $hashByteArray) { if ($byte -lt 16) {$result +=
    "0{0:X}" -f $byte } else { $result += "{0:X}" -f $byte }}
    return [string]$result;
    }
    $pliki1=@{}
    ls -r Katalog1 | where {$_.attributes -ne "Directory"} | foreach {
    $md5 = get-md5 $_
    $pliki1.add($md5, $_)
    }
    $pliki2=@{}
    ls -r Katalog2 | where {$_.attributes -ne "Directory"} | foreach {
    $md5 = get-md5 $_
    $pliki2.add($md5, $_)
    }

    $pliki1.Keys | foreach {
    if ($pliki2.containsKey($_)) {
    write-host $pliki1.get_item($_).fullname "="
    $pliki2.get_item($_).fullname
    }
    }


    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 2 days, 1 hours, 2 minutes and 59 seconds

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: