Windows komut satırından bir iş mi planlıyorsunuz?


15

Linux'ta var Cron işi ve de işin. Windows'taki komut satırından bir iş zamanlamanın bir yolu var mı?

Görev Zamanlayıcı GUI Sonra ben ne değildir. Belirli bir koşulda bir olay zamanlamak için bir komut dosyasını değiştirmek gerekir ... bu yüzden komut satırından bu çağırmak için bir yol olmalıdır.

Yanıtlar:


13

Windows'un ayrıca bir "iş başında" vardır. Yine de sözdizimi biraz farklı.

C: \ Documents and Settings \ Yönetici> at /?
AT komutu bir bilgisayarda çalışacak komutları ve programları zamanlar
belirli bir saat ve tarih. Kullanmak için Zamanlama hizmetinin çalışıyor olması gerekir
AT komutu.

AT [\\ bilgisayaradı] [[id] [/ DELETE] | / DELETE [/ YES]]
[\\ bilgisayaradı] zamanda [/ INTERACTIVE]
    [/ HER: tarih [, ...] | / NEXT: tarih [, ...]] "komut"

\\ bilgisayaradı Uzak bilgisayarı belirtir. Komutlar
                   Bu parametre atlanırsa yerel bilgisayar.
id Programlanana atanan bir kimlik numarasıdır
                   Komut.
/ delete Zamanlanmış bir komutu iptal eder. Kimlik atlanırsa, tüm
                   bilgisayarda zamanlanmış komutlar iptal edilir.
/ yes Başka iş olmadığında tüm işleri iptal et komutu ile kullanılır
                   onay istenir.
time Komutun çalıştırılacağı zamanı belirtir.
/ interactive İşin, kullanıcının masaüstüyle etkileşime girmesine izin verir
                   işin yürütüldüğü sırada oturum açmış olanlar.
/ every: date [, ...] Komutu haftanın belirtilen her gününde çalıştırır veya
                   ay. Tarih belirtilmezse, ayın geçerli günü
                   olduğu varsayılır.
/ next: date [, ...] Belirtilen komutu bir sonraki tekrarında çalıştırır.
                   gün (örneğin, gelecek Perşembe). Tarih belirtilmezse,
                   ayın geçerli günü olduğu varsayılır.
"komut" Çalıştırılacak Windows NT komutu veya toplu programdır.

Misal:

at 9:00 /interactive notepad.exe

Bu, Not Defteri'nin sabah 9: 00'da kullanıcı için etkileşimli olarak açılmasına neden olur .


3
Konuştuğumuzda "at" kullanımdan kaldırıldı. "schtasks" şimdi gitmenin yoludur. Belki de doğru cevabı değiştirebilirsin.
Marius

15

Schtasks komutunu kullanın . Komuttan daha fazla seçeneği var ve ayın son günü için athoş olanlardan bazıları /mo LASTDAY:

schtasks, komutları ve programları periyodik olarak veya belirli bir zamanda çalışacak şekilde zamanlar. Görevleri zamanlamaya ekler ve kaldırır, istek üzerine görevleri başlatır ve durdurur ve zamanlanmış görevleri görüntüler ve değiştirir.

Sözdizimi:

schtasks / create / tn GörevAdı / tr GörevRun / sc zamanlama [/ mo değiştirici]
         [/ d gün] [/ m ay [, ay ...] [/ i IdleTime] [/ st StartTime] 
         [/ sd StartDate] [/ ed EndDate] [/ s bilgisayar [/ u 
         [domain \] kullanıcı / p şifresi]] 
         [/ ru {[Domain \] Kullanıcı | "Sistem"} [/ rp Parola]] /?

1

Gecikme için bir uyku programı kullanarak bunu yapmak için bir Windows kabuk komut dosyası yazın:

@echo off

:loop
someprogram args
sleep 900
if somecondition goto loop

Kendi kabuk penceresinde çalıştırın. Cmd.exe dosyasını bu komut dosyasıyla açılmak üzere yapılandırın. sleepbirkaç saniye uyur:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <Windows.h>

int main(int argc, char* argv[])
{
    int n = atoi(argv[1]);

    Sleep(n * 1000);

    return 0;
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.