Powershell’de iki klasör içindeki dosyaları karşılaştırma

İki klasörü karşılaştırıp dosya farklılıklarını gösteren çok sayıda program var.

Ama bu iş için Powershell komutlarını da kullanabiliriz.

Aşağıdaki üç komut f:\bir ve f:\iki klasörlerini karşılaştırıyor, farklı dosyaları (birinde olup da diğerinde olmayanı) listeliyor:

$ilkklasor = Get-ChildItem -Recurse -path f:\bir

$ikinciklasor = Get-ChildItem -Recurse -path f:\iki

Compare-Object -ReferenceObject $ilkklasor -DifferenceObject $ikinciklasor

Birinci satırdaki get-child komutu belirtilen konumdaki ögeleri listeliyor. Komuttaki –recurse parametresi, belirtilen konumdaki alt klasörlerin de inceleneceği anlamına geliyor.

Komutun çıktısını $ilkklasor adındaki bir değişkende tutuyoruz.

İkinci satırda aynı işlemi bu sefer diğer klasör için yapıyoruz ve sonucu $ikinciklasor adındaki değişkende saklıyoruz.

Sonra compare-object komutuyla iki değişkeni karşılaştırıp sonucu listeletiyoruz.

Resimde komutları ve sonuçlarını görebilirsiniz.

Yine resimde görebileceğiniz gibi referenceobject ve differenceobject parametrelerinde değişkenlerin yerini değiştirebiliriz, sonuç değişmez.

Bu çözümün sorunları var tabii: Örneğin, dosyaların alt klasörde olması durumunda o alt klasörün bilgisini raporlamıyor.

Yalnızca dosyaların adlarına baktığımız için aynı dosyanın farklı sürümlerinin bulunması durumunu da atlıyoruz.

Yine de, bu haliyle bile çok iş görebilecek bir çözüm.

Kaynak: https://devblogs.microsoft.com/scripting/easily-compare-two-folders-by-using-powershell/

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s


%d blogcu bunu beğendi: