30.12.2024

Powershell muhtemlif-2

Bir dosya içindeki satır sayısını bulmak için aşağıdaki iki satırdan biri kullanılabilir.

(select-string "^" dosya.txt | measure-object).count
(gc dosya.txt | measure -line).lines

Hatta bu dosyanın içinde toplam kaç harf veya kelme olduğun bulmak için

select-string "^" dosya.txt | measure-object -word -character

Bir klasörün (alt klasörler hariç) boyutunu bulmak için (alt klasörleri dahil etmek için Get-ChildItem'a -Recurse eklemek gerek)

(get-childitem d:\klasor | measure-object -property length -sum).sum

Komut satırından yeni bir dosya oluşturma

ni yenidosya.txt

Klasörü içeriğiyle birlikte silme (-force gizli ve readonly dosyaları silmeden önce için onay istememesi için)

ri d:\klasor -recurse -force

Bir dosyanın boş olup olmadığını kontrol etme [1]

if ([String]::IsNullOrWhiteSpace((Get-Content D:\dosya.txt))) { "boş" } else { "boş değil" }

Bir klasördeki dosyaların içinde geçen her Nisan kelimesini Mayıs ile değiştirmek [2]

dir *.txt -recurse | % { (gc $_).replace("Nisan","Mayıs") | sc $_.fullname }

İçinde Ağustos geçen dosyaları bulmak

dir *.txt -recurse | sls "Ağustos" -list | select path

İki dizeden sadece 2.sinde geçen öğeleri listele [3]

$dize2 | ? { $dize1 -notcontains $_ }

Ya da iki dizede de olan öğeleri listele (iki kümenin kesişim kümesi)

$dize1 |? { $dize2 -contains $_ }

İki dizenin birleşim kümesini listele

$dize1 + $dize2 | select -unique

XML verisi üzerinde işlem yapmak [4]

foreach ($element in ([xml]$icerik=gc D:\veri.xml)) { $element.loc = "NBA" }

$icerik.Save("veri2.xml")

Metnin içinde HTML etiketlerini kaldır [5]

$my_string -replace '<[^>]+>',''

Dizenin en küçük, en büyük veya dizenin ortalama değerini bulmak için

($dize | measure -maximum).maximum
($dize | measure -minimum).minimum
($dize | measure -average).average

Dizedeki her bir öğenin kaç kez kullanıldığını bulmak (histogram?)

$dize | group | sort count -desc | select name,count

Her öğenin kaç kere tekrarlandığı bilgisi fazlaysa ve sadece mükerrer öğeleri görmek istiyorsak  [6]

$dize | group | ? count -gt 1 | select name

Bilgisayarın saat dilimini görmek için [7]

[System.TimeZoneInfo]::Local.StandardName

Zamanı UTC'ye çevirmek için

(Get-Date).ToUniversalTime()

Herhangi bir zaman dilimine çevirmek için (bu komut, fonksiyonun ilk parametresinin hangi zaman diliminde olduğunu bilerek çevirir)

[TimeZoneInfo]::ConvertTimeBySystemTimeZoneId((Get-Date), 'Eastern Standard Time')

Tüm zaman dilimlerini listelemek için

[TimeZoneInfo]::GetSystemTimeZones()

İşletim sisteminin kurulma tarihi (ki bu da 24H2 gibi büyük güncelleştirmeler sonrasında sıfırlanıyor)

(gcim win32_operatingsystem).InstallDate

Bir klasördeki dosyaların içinde adminstrator kelimesinin kaç kere geçtiğini bulmak:

sls administrator * | group path | sort count -desc |ft count, values -Autosize

Hiç yorum yok: