Powershell’de bir komutu tekrar tekrar çalıştırma
Powershell’de bir komutu tekrar ettirme veya tekrar çalıştırmak için for döngüsü işimizi oldukça kolaylaştıracak.
Aşağıdaki örnekte basit bir şekilde her 5 saniyede bir 1000 kere tekrar edecek bir loop create ettik. Bu senaryoda anlamsız gelebilir ama sürekli çalışmanız gereken bir script olduğunda kodu kendinize göre düzenleyerek aralıklı tekrarlarla otomatik çalışacak fonksiyonlar yaratabilirsiniz
1 2 3 4 5 6 7 8 |
for ($i = 1; $i -lt 1000; $i++) { Write-Host "Merhaba Ali bu işlem 1000 kere, her 5 saniyede bir çalışacak" Start-Sleep -Seconds 5 } |
Scriptin çıktısı aşağıdaki gibi olacaktır. Görüldüğü üzere 1000 ($i 1 olduğu için aslında 999 ) defa çalışmasını istediğim komutu her 5 saniyede bir tekrarlayan bir loop yaratmış oldum.
Peki 1000 kere değilde sonsuza kadar bu döngünün çalışmasını istersem ne yapmalıyım. Sonuçta ben yıllarca (Ben o sunucuyu emekliye ayırana kadar) çalışmasını istediğim bir komut çalıştırmak isteyebilirim. O zaman for için sonsuz loopa sokacağız.
Aynı fonksiyonun sonuza kadar çalışanı için betik aşağıdaki gibi olmalı;
1 2 3 4 5 6 7 |
for(;;) { Write-Host "Merhaba Ali bu işlem sonsuza kadar, her 5 saniyede bir çalışacak" Start-Sleep -Seconds 5 } |