Disk birleştirmeyi otomatik hale getirmek

'Bilgisayar Hakkında Genel Bilgiler' forumunda Siraç tarafından 22 Şubat 2009 tarihinde açılan konu

  1. Siraç

    Siraç Site Yetkilisi Admin Editör

    Sponsorlu Bağlantılar
    Disk birleştirmeyi otomatik hale getirmek konusu Disk birleştirmeyi otomatik hale getirmek

    Sabit diskiniz birleştirilmemişse, yani "defrag" işlemine tabi tutulmamışsa dosya erişimi belirgin bir şekilde yavaşlar. Bu nedenle diskinizi düzenli olarak birleştirmenizde sayısız yarar bulunuyor.

    Ancak söz konusu işlem hayli uzun sürdüğünden, yalnızca sabit diskteki dosyalar parçalı bir şekilde dağılmışsa çalıştırmalısınız. İşlemin düzenli aralıklarla ve gerçekten gerekli olduğunda çalıştırılmasını sağlayabilirsiniz.

    Kısa bir skript sayesinde disk birleştirme işlemini otomatik hale getirebilirsiniz. Bu iş için kullanacağınız araç defrag.exe adını taşıyor.

    Disk birleştirme işlemini manuel olarak başlatmak için şu yolu izlemeniz gerekiyor: Başlat - Çalıştır menüsünden cmd komutunu çalıştırın ve "Komut İstemi" penceresinden defrag.exe C: -a komutunu girdikten sonra [Enter]'a tıklayın. -a parametresi analiz modunu çalıştırmak için kullanılıyor. Araç sabit diskin o anki durumunu gözden geçiriyor ve disk birleştirmenin gerekli olup olmadığını test ediyor. Ekrana gelen mesaj "Bu birimi birleştirmenize gerek yok" şeklindeyse disk birleştirme şu an için gereksiz. Diğer durumda defrag.exe C: komutuyla aracı yeniden çalıştırabilirsiniz.

    Yukarıdaki adımın otomasyonu için ekrana gelen mesajı değerlendirecek bir skript yazabilirsiniz. Herhangi bir metin düzenleyicisi yardımıyla
    --------------------
    Set-objShell-=-CreateObject("Wscript.Shell")
    Set-objWshScriptExec-=-objShell.Exec("defrag.exe-c:--a")strOutput=objWshScriptExec.StdOut.ReadAllstrSea rch-=-"Bu-birimi-birleştirmenize- gerek-yok "
    If-InStr(1,-strOutput,-strSearch)-=-0-Then-objShell.Run-
    ("defrag.exe-c:")
    End-If
    --------------------

    Skript'ini hazırlayın ve dosyayı VBS uzantılı olarak örneğin defragc.vbs adıyla kaydedin.

    Şimdi sıra skript'in otomatik olarak başlatılmasını sağlamakta. Denetim Masası'ndan önce Zamanlanmış Görevler'e ardından Zamanlanmış Görev Ekle'ye çift tıklayın. Ekrana gelen sihirbazda İleri'ye, ardından Gözat'a tıklayın. VBS dosyasının bulunduğu klasöre geçin ve dosyayı seçtikten sonra Aç'a tıklayın. Bir sonraki adımdan görevin gerçekleştirilme sıklığını Her Hafta olarak belirledikten sonra İleri'ye tıklayın. Başlangıç saati alanından saati, bu görev için günleri seçin alanından görevin haftanın hangi gününde çalıştırılacağını seçin. İleri'ye tıklayın. Bir sonraki pencereden dilerseniz görevi başlatmış gibi görünecek kullanıcı seçebilir ya da o an oturum açtığınız kullanıcıyı tercih etmek için doğrudan İleri'ye tıklayabilirsiniz. Son'a tıkladığınızda görev etkin hale gelecek ve sabit diskin her zaman düzenli olmasını sağlayacak.

    Diğer disk bölümlerini de birleştirmek istiyorsanız her sürücü için ayrı bir skript yazabileceğiniz gibi mevcut olanı da genişletebilirsiniz. İkinci seçeneği kullanacaksanız skript'in son hali şu şekilde olmalı:
    ---------------------
    Set-objShell-=-CreateObject ("Wscript.Shell")
    Set-objFSO-=-CreateObject ("Scripting.FileSystemObject")
    Set-allDrives-=-objFSO.Drives
    For-Each-objDrive-in-allDrives
    If-objDrive.DriveType-=-2-Then
    Set-objWshScriptExec-=-objShell.Exec("defrag.exe-"-&-
    objDrive.DriveLetter-&-":--a")
    strOutput=objWshScriptExec.StdOut.ReadAll
    strSearch-=-"Bu-birimi-birleştirmenize- gerek-yok "
    If-InStr(1,-strOutput,-strSearch)-=-0-Then
    objShell.Run-("defrag.exe "-&-objDrive.DriveLetter-&-":")
    End-if
    End-If
    Next

    Dikkat: Zamanlanmış görevi tanımlamadan önce skript'i deneme amaçlı olarak en azından bir defa çalıştırın. Bunun için Başlat / Çalıştır menüsünden cmd ile Komut İstemi'ne geçin ve onu komut satırından çalıştırarak izleyin. Skript'e bazı durumlarda anti virüs yazılımı üzerinden de izin vermeniz gerekebilir.
     

Bu Sayfayı Paylaş