12 entry daha
  • powershell'de fonksiyonel programlama yapilari da oldugundan yazmasi kullanmasi oldukca keyiflidir. hicbir dile tam benzemediginden alismasi vakit alabilir. mesela bir dizinde iki gunden eski zip dosyalarin toplam boylarini hesaplamak icin:

    $toplam = (get-item d:\hede\*.zip | where { $_.lastwritetime -lt (get-date).adddays(-2) } | measure-object length -sum).sum

    dur acilimini da yazayim ogretici olsun:

    "get-item d:\hede\*.zip"

    tek basina butun zip dosyalarini donduren bir komut. bunu boruyla where'e baglayinca get-item'in dondurdugu her sey "where" filtresinden geciyor. adinin "get-item" olma sebebi dosya disinda registry gibi seylerle de calisabilmesi.

    "where { $_.lastwritetime -lt (get-date).adddays(-2) } "

    burada "$_" o sirada islenen nesne anlaminda ozel bir kod. $_.lastwritetime o nesnenin tarihi demek oluyor. -lt ise cogu programlama dilinde "<" olarak gormeye alistigimiz operator. <, > gibi karakterler baska isler icin kullanildigindan kiyaslamalar "-lt", "-gt", "-eq" gibi operatorlerle yapiliyor. hatta bu sekilde "-contains" ya da "-match" (regular expression match) gibi operatorler de kullanabiliyorsunuz.

    get-date o gunun tarihin donduren bir cmdlet. onu parantez icine alip ".adddays" ekleyince o tarih objesinin adddays method'unu cagirmis oluyoruz.

    kisaca bu where'den cikan liste sadece iki gunden eski zip'ler oluyor. bunlarin toplam boyunu cikarmak icin ise where'in ciktisini yine borudan gecirip measure-object'e pasliyoruz:

    "measure-object length -sum"

    bu da demek oluyor ki gelen listedeki objelerin "length" alanlarini topla. en sonunda da measure-object ciktiyi bir nesne olarak verdiginden ve biz bu nesnenin sadece "sum" property'si ile ilgilendigimizden her seyi parantez icine alip sonuna ".sum" ekliyoruz.
  • unix shell'lerine asina olanlar icin:

    http://blogs.msdn.com/…chive/2006/04/25/583272.aspx
  • hayat kurtaran bir gerec. bugun bir dizindeki butun dosyalarin icindeki ".wav" kismini kaldirmam gerekti. sunu yaziverdim:

    get-item * | % { rename-item $_.name ($_.name.replace(".wav","")) }
  • bulunduğunuz dizin ve altındaki tüm dizinlerdeki 1mb'tan büyük tüm jpg'leri %85 kaliteyle yeniden sıkıştırmak için:

    dir -recurse *.jpg | where { ($_.length / 1mb) -gt 1 } | foreach { & mogrify -quality 85% $_.fullname }

    böyle de şahanedir.

    not: bulunduğu yere yaptığından eski orjinallerini kaybeder. sistemde imagemagick yüklü olması gerekir. bu işlemlerin dakikası 1.85785tl'den ücretlendirilir. türksel bir hangar holding kuruluşudur. milli piyango'nun bazı kanuni esasları 34843.238238 maddeleri. olm burayı nasılsa okumuyolar yaz istediğini. lan dediğimi yazmasana! landfmöçç..2
  • yanlış yaptığı çok şey var, ama doğru yaptığı şeylerden biri de unix'teki gibi "~" işaretini kullanıcının kendi home path'i için kullanıyor olması. bu sayede bir folder'ı "/"a yaratmakla home path'e yaratmak arasında konfor farkı en aza iniyor. mkdir c:\tmp vs mkdir ~\tmp gibi. bu yarattığı alışkanlık vesilesiyle yedekleme ve kullanıcılar arası erişim izinleri konularında da daha az sıkıntı çıkmasını sağlıyor.
  • windows 10 ile gelen 5.0 sürümünde komut satırında sözdizimi renklendirmesine kavuşmuş. komutu yanlış yazınca rengi kırmızıya dönüyor, tırnağı kapamayı unutunca anlaşılıyor vs. güzel.
  • cross-platform olanı için (bkz: powershell core)
6 entry daha
hesabın var mı? giriş yap