10.02.2025

Powershell'de komut satırı komutlarını kullanmak

Komut satırı ilginç bir terim. İngilizcesi de command prompt, bu da çok mantıklı değil. Ama ne kastedildiği anlaşılıyordur, umarım.

Powershell kullanırken iki dosyayı karşılaştırmak istiyorum.

Compare-Object -ReferrenceObject D:\klasor1\dosya1.txt -DifferenceObject D:\klasor2\dosya2.txt

gibi yazınca doğrudan dosya içeriğini karşılaştırmıyor. İçeriği karşılaştırmak için en basit yöntem her bir dosyanın ayrı ayrı hash'lerini hesaplatmak

Compare-Object -ReferrenceObject (Get-FileHash D:\klasor1\dosya1.txt) -DifferenceObject (Get-FileHash D:\klasor2\dosya2.txt)

 ya da düz metin dosyasıylsa içeriklerini okuyup 

Compare-Object -ReferrenceObject (Get-Content D:\klasor1\dosya1.txt) -DifferenceObject (Get-Content D:\klasor2\dosya2.txt)

karşılaştırmak gerek. Böyle uzun uzadıya yazmak yerine eski güzel günlerdeki basit fc komutunu kullanmak istiyorum.

fc D:\klasor1\dosya1.txt D:\klasor2\dosya2.txt

yazınca maalesef fc komutunu Format-Custom cmdlet'inin alias'ı olarak algılıyor. Ne yapmak gerek? Powershell'i bırakıp yeni bir komut satırı penceresi/sekmesi açıp komutu tekrar yazmak bir seçenek. Ama onun yerine cmd.exe'nin /C anahtarı daha kolay. Mevcut pencerenin komut geçmişinden dosya adlarını da bir daha yazmaya gerek kalmaz. Kısaca powershell'in içinden

cmd /c fc D:\klasor1\dosya1.txt D:\klasor2\dosya2.txt

yazınca sonuca ulaşabiliryorum.

Hiç yorum yok: