विंडोज "nix" पर "कमांड" के समान है


2

* निक्स में "एट" कमांड है, जिसे एक निश्चित समय पर प्रोग्राम चलाने के लिए पाइप किया जा सकता है। ऐशे ही:

echo "SOME_COMMAND" | at 00:00

विंडोज में एक "एट" कमांड भी है, जो उपयोगकर्ता सिस्टम द्वारा पृष्ठभूमि में चलने वाले एक रन-शेड्यूल किए गए कार्य को बनाता है । "समय-सारणी" अधिक पूर्ण है, लेकिन उपयोग करने के लिए एक दर्द भी है (विशेषकर चूंकि इसे प्रत्येक कार्य के लिए एक अद्वितीय नाम की आवश्यकता होती है, एक रन बनाने के लिए एक बैच बनाने का विचार * निक्स की नकल करने के लिए * रन-ऑफ टास्क * nix शैली बनाने के लिए "पर" थोड़े अव्यवहारिक हो जाता है)।

तो, क्या विंडोज के लिए एक उपयोगिता है जो कि * nix के "पर" करता है, एक सरल, गैर-परेशानी वाले तरीके से?

अद्यतन: मैं अब थोड़ा और अधिक विशिष्ट हो जाएगा =)। मैं एक निश्चित समय पर अपने मॉनिटर को बंद करने की कोशिश कर रहा हूं, और मैं nircmd नामक एक कमांड-लाइन उपयोगिता का उपयोग करता हूं ताकि मैं बस "nircmd मॉनिटर ऑफ" टाइप कर सकूं। यदि मैंने इस कंप्यूटर पर लिनक्स का उपयोग किया है, तो मुझे केवल इतना करना था

echo "nircmd monitor off" | at XX:YY

या "मैक्रो" बनाएं। लेकिन विंडोज में मेरे पास केवल निर्धारित कार्य हैं, जो एक रन- टाइम कार्य बनाने के बजाय एक नौकरशाही तरीका है, क्योंकि "पर" वास्तव में काम नहीं करता है (मेरे समान प्रश्न देखें विंडोज टास्क शेड्यूलर और संभावित अनुमति समस्याएं ) और "शेड्यूल" ऊपर उल्लिखित संपूर्ण अद्वितीय नाम चीज़ की आवश्यकता है।

एक प्रोग्रामर होने के नाते, इस तरह के कार्यक्रम को बनाने में काफी आसान होना चाहिए जो यूनिक्स के "एट" की नकल करता है। लेकिन मैं यह सुनिश्चित करना चाहता था कि मैं पहिए को पहले से ही बंद नहीं कर रहा था।


ज़रुरी नहीं। यदि आप सादगी चाहते हैं, तो आप के साथ फंस गए हैं at। यदि आप जटिलता चाहते हैं, तो आप के साथ फंस गए हैं schedtasks। यह दुर्भाग्यपूर्ण है, लेकिन यह मामला है। इसे आसान बनाने के लिए एक थर्ड पार्टी टूल हो सकता है, या आप इसे करने के लिए एक बैच स्क्रिप्ट लिख सकते हैं।
nhinkle

मुझे लगता है कि मुझे इसे पहले ही स्पष्ट कर देना चाहिए: मुझे विंडोज में इस तरह के टूल को खोजने की कोई उम्मीद नहीं है, इसलिए मैं वास्तव में जो खोज रहा हूं वह एक तृतीय-पक्ष उपकरण है।
राफेल अल्मेडा

मुझे लगता है कि आपके अपडेट को पढ़ने के बाद आप शायद उसी निष्कर्ष पर पहुंचेंगे, जो मैंने किया है और सिर्फ अपना खुद का सरल शेड्यूलर लिखा है, अपनी पसंदीदा भाषा में एक प्रोग्राम लिखना काफी सरल है, जो पृष्ठभूमि में चलता है और रुक-रुक कर जांच करता है कि क्या यह एक्स ओ है 'घड़ी अभी तक और यदि ऐसा है तो टास्क वाई चलाने के लिए
रिचर्ड लुकास

जवाबों:


3

तो यहाँ है कि मैं इस समस्या को हल करने में कैसे कामयाब रहा। मैंने एक .bat फ़ाइल बनाई, जिसे killscreenat.bat कहा जाता है और इसे / Windows / system32 में डाल दिया है (लेकिन आप स्पष्ट रूप से इसे कहीं भी रख सकते हैं - या कहीं भी आपके PATH में, उस मामले के लिए)। स्क्रिप्ट सरल है:

schtasks.exe /create /SC ONCE /TN poweroffmonitor /TR "nircmd monitor off" /ST %1 /F

और उपयोग सरल है:

killscreenat HH:MM

कुंजी (भारी संयुक्त राष्ट्र / misdocumented) / एफ विकल्प था। हालांकि यह टेक्नेट के डॉक (या मेरे द्वारा पढ़ी गई किसी अन्य जगह) में ऐसा नहीं कहा गया है, यह अनुसूचित कार्य को पहले से मौजूद होने पर बनाए गए कार्य को अधिलेखित करने के लिए मजबूर करता है।

यह एक वैश्विक समाधान नहीं है - जिसका अर्थ है कि आप इसे करने के लिए किसी भी कमांड को सिर्फ "पाइप" नहीं कर सकते हैं, लेकिन यदि आपका "कार्य" अक्सर मेरा जैसा है, तो प्रक्रिया काफी आसान है।

उत्तर के लिए सभी का धन्यवाद, वे वास्तव में अंतिम समाधान खोजने में सहायक थे!


2

क्या आपने साइगविन को खिड़कियों के भीतर एक बैश शेल की कोशिश की है ?


1
बस इसे डाउनलोड किया है, और जब तक यह विंडोज के आदेशों को ओवरराइड नहीं करता है (इसलिए, कोई यूनिक्स के "पर"), यह अभी भी एक महान चीज स्थापित नहीं है। धन्यवाद!
राफेल अल्मेडा

1

खिड़कियों पर कमांड में विभिन्न झंडे हैं जो आपको दोहराए जाने वाले और इंटरैक्टिव कार्यों को सेट करने देंगे, बस पूरी सूची के लिए --help पर करें। मेरे लिए ऐसा लगता है कि आप / हर / और इंटरैक्टिव के संयोजन के बाद हैं, लेकिन मुझे यकीन नहीं है कि आप वास्तव में क्या हासिल करना चाह रहे हैं।


विंडोज 7 में सिक्योरिटी अपग्रेड (या सुरक्षा समस्याओं के कारण डाउनग्रेड) के कारण इंटरएक्टिव विकल्प अक्षम है।
जूल

1

विंडोज डेस्कटॉप मशीनों पर अनुसूचित कार्य (सर्वर संस्करण नहीं, ये ठीक-ईश लगते हैं) मेरे अनुभव में पूरी तरह से अविश्वसनीय हैं और फिर भी विंडोज 7 पर काम नहीं करते हैं। आप पाएंगे कि आप कुछ समय के लिए काम करते हैं और फिर अचानक काम करते हैं ' बिना किसी कारण के टी आप निर्धारित कर सकते हैं।

यदि आप Windows Vista / Windows 7 पर इसका उपयोग करने का प्रयास कर रहे हैं तो आप शायद एटी के साथ किसी तरह की अनुमति की समस्याओं में भाग लेंगे क्योंकि आपको कमांड तक पहुंचने के लिए एक उन्नत कमांड प्रॉम्प्ट चलाने की आवश्यकता है।

आप क्या हासिल करने की कोशिश कर रहे हैं, यह संभव हो सकता है कि आप अपने स्वयं के अनुसूचक को रोल कर सकते हैं या इसके बजाय किसी अन्य तृतीय-पक्ष उपकरण का उपयोग कर सकते हैं?


कृपया ऊपर अद्यतन देखें, मैंने कुछ चीजें स्पष्ट कीं।
राफेल अल्मेडा

1

खैर, मैं उस गूंगा विधि का उपयोग करता हूं:

: लेबल 1
यदि "% समय%" GTR "15: 00: 00,00" करते हैं (
अपने
कमांडो यहाँ goto लेबल 2 डालें
)
गोटो लेबल 1
: लेबल 2


1
मेरे लिए एक "बदसूरत" वर्कअराउंड का एक सा लगता है, लेकिन काम करना चाहिए जब बाकी सब विफल रहता है =)
राफेल अल्मेडा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.