विंडोज कमांड लाइन से नौकरी शेड्यूल करें?


15

लिनक्स पर है क्रॉन नौकरी और पर काम किया है। क्या विंडोज पर कमांड लाइन से नौकरी शेड्यूल करने का कोई तरीका है?

कार्य शेड्यूलर जीयूआई है कि मैं क्या कर रहा हूँ के बाद नहीं है। मुझे एक स्क्रिप्ट को एक निश्चित स्थिति पर एक घटना को शेड्यूल करने के लिए संशोधित करना चाहिए ... इसलिए कमांड लाइन से इसे कॉल करने का एक तरीका होना चाहिए।

जवाबों:


13

विंडोज में "नौकरी पर" भी है। यद्यपि वाक्य-विन्यास थोड़ा अलग है।

C: \ Documents and Settings \ एडमिनिस्ट्रेटर> at /?
AT कमांड कंप्यूटर पर चलने के लिए कमांड और प्रोग्राम शेड्यूल करता है
एक निर्दिष्ट समय और तारीख। अनुसूची सेवा का उपयोग करने के लिए चलना चाहिए
एटी कमांड पर।

AT [\\ computername] [[id] [/ DELETE] | / DELETE [/ YES]]
एटी [\\ कम्प्यूटेटर] समय [/ इंटरएक्टिव]
    [/ हर: दिनांक [...] | / अगला: तारीख [, ...]] "कमांड"

\\ कंप्यूटर एक दूरस्थ कंप्यूटर निर्दिष्ट करता है। पर निर्धारित कर रहे हैं
                   स्थानीय कंप्यूटर यदि यह पैरामीटर छोड़ा गया है।
आईडी एक अनुसूचित को निर्दिष्ट एक पहचान संख्या है
                   आदेश।
/ एक निर्धारित आदेश रद्द करें। अगर आईडी को छोड़ दिया जाता है, तो सभी
                   कंप्यूटर पर अनुसूचित कमांड को रद्द कर दिया गया है।
/ हाँ जब आगे नहीं हो तो सभी जॉब्स कमांड को रद्द कर दें
                   पुष्टि वांछित है।
समय उस समय को निर्दिष्ट करता है जब कमांड चलाना है।
/ सहभागी उपयोगकर्ता के डेस्कटॉप के साथ कार्य करने की अनुमति देता है
                   जिस समय नौकरी चलती है उस समय लॉग इन किया जाता है।
/ हर: दिनांक [, ...] सप्ताह के प्रत्येक निर्दिष्ट दिन पर कमांड चलाता है या
                   महीना। यदि तारीख को छोड़ दिया जाता है, तो महीने का वर्तमान दिन
                   माना गया है।
/ अगला: दिनांक [, ...] की अगली घटना पर निर्दिष्ट कमांड चलाता है
                   दिन (उदाहरण के लिए, अगले गुरुवार)। यदि दिनांक छोड़ा गया है,
                   महीने का वर्तमान दिन मान लिया गया है।
"कमांड" विंडोज NT कमांड है, या बैच प्रोग्राम चलाया जाना है।

उदाहरण:

at 9:00 /interactive notepad.exe

यह नोटपैड को सुबह 9:00 बजे उपयोगकर्ता के लिए इंटरेक्टिव रूप से खोलने का कारण होगा ।


3
जैसा कि हम बोलते हैं "पर" पदावनत है। "schtasks" अब जाने का रास्ता है। शायद आप सही उत्तर बदल सकते हैं।
मेरियस

15

Schtasks कमांड का उपयोग करें । इसमें atकमांड की तुलना में अधिक विकल्प हैं और कुछ अच्छे हैं जैसे /mo LASTDAYमहीने के अंतिम दिन के लिए:

schtasks समय-समय पर या किसी विशेष समय को चलाने के लिए आदेश और प्रोग्राम शेड्यूल करता है। शेड्यूल से कार्यों को जोड़ता है और हटाता है, मांग पर कार्यों को शुरू और रोकता है, और अनुसूचित कार्यों को प्रदर्शित और बदलता है।

वाक्य - विन्यास:

schtasks / create / tn TaskName / tr TaskRun / sc अनुसूची [/ मो संशोधक]
         [/ d दिन] [/ m महीना [, महीना ...] [/ i IdleTime] [/ st StartTime] 
         [/ s StartDate] [/ ed EndDate] [/ s कंप्यूटर [/ u 
         [डोमेन \] उपयोगकर्ता / पी पासवर्ड]] 
         [/ ru {[डोमेन \] उपयोगकर्ता | "सिस्टम"} [/ rp पासवर्ड]] /?

1

विलंब के लिए एक नींद कार्यक्रम का उपयोग करके इसे करने के लिए एक विंडोज शेल स्क्रिप्ट लिखें:

@echo off

:loop
someprogram args
sleep 900
if somecondition goto loop

इसे खुद की शेल विंडो में चलाएं। इस स्क्रिप्ट के साथ पावर अप को चलाने के लिए cmd.exe कॉन्फ़िगर करें। sleepकई सेकंड के लिए सोता है:

#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;
}
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.