.BAT Dosyası için Zamanlanmış Görevi Düzeltme Çalışmayacak

Bir .BAT dosyanız varsa ve bunu Windows'ta (Windows)Görev Zamanlayıcı'yı(Task Scheduler) kullanarak otomatik olarak çalıştırmaya çalışıyorsanız, görevi el ile çalıştırmadığınız sürece dosyanın çalışmaması sorunuyla karşılaşmış olabilirsiniz.

Bilgisayar her başlatıldığında geçici bir klasördeki her şeyi silen bir toplu iş dosyası oluşturdum. Görev Zamanlayıcı'da(Task Scheduler) temel bir görev oluşturdum ve en iyisini umdum. Ne yazık ki, bilgisayarım açıldığında hiçbir şey olmadı. Bir sürü deneme yanılmadan sonra, betiğin nasıl çalıştırılacağını buldum.

Bu makalede, toplu iş dosyanızı manuel müdahale olmadan çalıştırmak için ayarlamanız gereken ayarlar ve izinler konusunda size yol göstereceğim.

1. Adım: File/Folder İzinlerini Kontrol Edin

Bu sorunu düzeltmenin ilk adımı, Görev Zamanlayıcı'da(Task Scheduler) komut dosyasını çalıştırmak için kullandığınız hesabın, komut dosyasını içeren klasörde, komut dosyasının kendisinde ve komut dosyası çalıştığında dokunduğu tüm klasörlerde/dosyalarda Tam Denetim(Full Control) izinlerine sahip olduğundan emin olmaktır.

Örneğin, aşağıdaki toplu komut dosyasını aşağıda oluşturdum:

set folder="C:\test"
cd /d %folder%
for /F "delims=" %%i in ('dir /b') do (rmdir "%%i" /s/q || del "%%i" /s/q)

.BAT dosyasını Belgelerim klasörüne kaydettim . Yol, C:\Users\username\Documents şeklindedir . C:\Users\username'ye gittim, Documents klasörüne sağ tıkladım ve Properties 'e tıkladım . Ardından Güvenlik(Security) sekmesine tıkladım .

Gördüğünüz gibi, kullanıcı hesabı Aseem açıkça eklendi ve Tam Denetim(Full Control) izni verildi. Şimdi aynı şeyi komut dosyasını içeren klasör ve komut dosyasının kendisi için yapmanız gerekiyor. Komut dosyasını içeren klasöre izin verirseniz, gitmeye hazır olduğunuzu varsaymayın, çünkü değilsiniz. Son olarak, komut dosyasının etkileşimde bulunacağı tüm dosya ve klasörler için izinleri ayarlayın.

C:\test gitmem gerekiyordu , o klasöre sağ tıklayın ve kullanıcı hesabımı oraya Tam Denetim(Full Control) izinleriyle ekleyin. Bunu yapmak zorunda olmak biraz can sıkıcı ama senaryoyu çalıştırmanın tek yolu bu.

Not: Komut dosyasını çalıştırmak için kullanılan hesabın, bilgisayardaki yerel Yöneticiler grubunun parçası olması gerekir. Benim durumumda, Aseem hesabı bir yönetici hesabıdır ve bu nedenle yerel Yöneticiler grubunun bir parçasıdır. (Note: The account that is being used to run the script has to be part of the local Administrators group on the computer. In my case, the Aseem account is an administrator account and therefore part of the local Administrators group. )

2. Adım: Görev Zamanlayıcı Ayarlarını Kontrol Edin(Task Scheduler Settings)

Şimdi Görev Zamanlayıcı'ya(Task Scheduler) gidelim ve orada uygun ayarları değiştirelim. Görev Zamanlayıcı'yı(Task Scheduler) açın ve Etkin Görevler( Active Tasks) bölümünde görevinizi bulun. Alfabetik sıraya göre listelenmelidirler.

Üzerine çift tıklayın ve görevi aynı pencerede kendi kendine açacaktır. Görevi düzenlemek için, üzerine sağ tıklayıp Özellikler'i(Properties) seçmeniz gerekir .

Birkaç sekme var ve burada kontrol edilmesi ve değiştirilmesi gereken birkaç şey var. İlk olarak, Genel(General) sekmesinde, görevi çalıştırmak için kullanılan kullanıcı hesabını kontrol etmeniz gerekir. Benim durumumda, dosya sisteminde daha önce izin verdiğim ve bilgisayardaki Yöneticiler grubunun bir parçası olan (Administrators)Aseem hesabı.(Aseem)

Ardından, Kullanıcı oturum açmışsa da açmamışsa çalıştır( Run whether user is logged on or not) seçeneğini seçmeniz ve Yapılandır(Configure for) kutusunda Windows Vista, Windows Server 2008'i seçmeniz gerekir.(Windows Vista, Windows Server 2008)

Eylemler(Actions) sekmesinde , komut dosyasını seçmeniz, Düzenle'yi tıklamanız ve ardından (Edit)Başlangıç ​​(isteğe bağlı)(e Start in (optional)) kutusunda komut dosyasını içeren klasörün yolunu eklemeniz gerekir . Bu gereksiz görünebilir, ama değil. Benim durumumda, kutuya C:\Users\Aseem\Documents\ .

Şimdi ayarları kaydetmek için Tamam'a tıklayın. (OK)Bunu yaptığınızda, görevi çalıştıracak kullanıcı hesabının parolasını girmeniz gereken bir iletişim kutusu görüntülenebilir. Bu da başka bir gereksinimi gündeme getiriyor. Şifresi olmayan bir hesabı kullanamazsınız. Görevin çalışması için kullanıcı hesabının bir parolası olmalıdır.

Son olarak, çalıştığından emin olmak için Görev Zamanlayıcı'da(Task Scheduler) görevi manuel olarak bir kez çalıştırmalısınız. Tüm ayarları değiştirdikten sonra manuel olarak düzgün çalışıyorsa, tetiklenmesi gerektiğinde çalışması gerekir. Benim durumumda, başlangıçta olması gerekiyordu ve değişiklikleri yaptıktan sonra her şey yolunda gitti.

Komut dosyanız çalıştırıldığında bir etki alanındaki farklı bilgisayarlara erişiyorsa, görevi çalıştırmak için etki alanı yöneticisi hesabını kullanmayı denemeniz gerektiğini unutmayın. Bu, hesabın uzak bilgisayarlara erişmek için yeterli izne sahip olmasını sağlayacaktır.

Unutulmaması gereken başka bir nokta da, komut dosyanızın bir ağ paylaşımındaki kaynaklara erişip erişmediğidir. Komut dosyanız ağa erişmek için harfler kullanıyorsa çalışmayabilir. Örneğin, F:\data\ yerine komut dosyasında \\machinename\share_name\data\ Â kullanmalısınız . Hala komut dosyanızı çalıştıramıyorsanız, buraya bir yorum gönderin, yardım etmeye çalışacağım. Zevk almak!



About the author

10 yılı aşkın deneyime sahip bir bilgisayar uzmanıyım. Boş zamanlarımda, bir ofis masasında yardım etmeyi ve çocuklara interneti nasıl kullanacaklarını öğretmeyi severim. Becerilerim pek çok şeyi içeriyor ama en önemlisi, insanların sorunları çözmelerine nasıl yardım edeceğimi biliyorum. Acil bir konuda size yardımcı olabilecek birine ihtiyacınız varsa veya sadece bazı temel ipuçları istiyorsanız, lütfen bana ulaşın!



Related posts