Blog (18)
Komentarze (1.6k)
Recenzje (2)
@aqostolUsuwanie duplikatów z Dysku Google

Usuwanie duplikatów z Dysku Google

25.09.2016 19:41

To nie będzie długi wpis, jedynie użyteczna notka dla potomnych. Może w nowej odsłonie bloga nie skażecie takich wpisów na niebyt? :P

Przenosiłem ostatnio swoje pliki z Dropboxa na Dysk Google i pociągnęło to za sobą kilka niemiłych konsekwencji. Pierwszą konsekwencją było to, że pliki wysyłam na chmurę już kilka dni, ale w tej chwili, na szczęście zbliżam się do końca. Drugą poważną konsekwencją było utworzenie się duplikatów większości plików. Problem jest taki, że mam tam sporo projektów Visual Studio, a jak wiadomo projekt taki ma bardzo, bardzo dużo plików.

Jak doszło do powstania duplikatów?

Te same pliki miałem na stacjonarce i na laptopie. Uznałem, że szybciej będzie, gdy będę wysyłał z obu urządzeń na raz, przez dwie różne sieci. Niestety Google nie posiada takiego sprytnego algorytmu jak Dropbox, z którym nie miałem wcześniej problemu w takiej sytuacji. To co wysłałem już ze stacjonarki, zaczęło bezlitośnie drugi raz wysyłać się z laptopa, mimo że identyczne pliki były już na chmurze (brawo Google). Po dniu zauważyłem, że powstały duplikaty w stylu "obrazek (1).png". Niestety w internecie, mimo kilku wątków mówiących o problemie, nikt tak na prawdę nie rozwiązuje do końca tego problemu. Zaleca się użycie CCleneara albo temu podobnych narzędzi. Problem w tym, że w moim przypadku użycie takiego narzędzia nie wchodzi w grę. W wielu projektach mam te same pliki i tak ma być. Czyściciele wymieszały wszystkie "prawdziwe" duplikaty z niezbędnymi "duplikatami" z różnych projektów.

Rozwiązanie

Pomyślałem, że w takiej sytuacji mógłby pomóc PowerShell. Po dłuższym czasie (nie znam się na PowerShellu ;] ) udało mi się stworzyć komendę, która znajduje wszystkie duplikaty, wyszukując wszystkie pliki, które w nazwie posiadają "(1).". Nie jest to pewnie doskonałe rozwiązanie, ale jak dla mnie świetnie spełniło swoją rolę.

Komenda wyszukująca, którą można najpierw sprawdzić, co usuniemy:

[code=PowerShell]Get-ChildItem -Filter *`(1`).* -Recurse[/code]

Usuwanie:

[code=PowerShell]Get-ChildItem -Filter *`(1`).* -Recurse | Remove-Item[/code]

Zrobione!

Może komuś pomogę tym wpisem, sam najpierw zmarnowałem sporo czasu, próbując usuwać te pliki ręcznie. Masakra!

Wybrane dla Ciebie
Komentarze (4)