नहीं, आप शुद्ध पुनर्निर्देशन नहीं कर सकते।
लेकिन कुछ ट्रिक्स (जैसे टी.बीएट ) के साथ आप कर सकते हैं।
मैं पुनर्निर्देशन को थोड़ा समझाने की कोशिश करता हूं।
आप दस धाराओं में से किसी एक को > फ़ाइल या <फ़ाइल
के साथ पुनर्निर्देशित करते हैं। यह महत्वहीन है, यदि पुनर्निर्देशन कमांड से पहले या बाद में है, तो ये दोनों लाइनें लगभग समान हैं।
dir > file.txt
> file.txt dir
इस उदाहरण में पुनर्निर्देशन केवल 1> के लिए एक शॉर्टकट है , इसका मतलब धारा 1 (STDOUT) को पुनर्निर्देशित किया जाएगा।
इसलिए आप किसी भी स्ट्रीम को 2> इरेटेक्स जैसे प्रीपेडिंग के साथ रिडायरेक्ट कर सकते हैं। इसे एक लाइन में कई स्ट्रीम रिडायरेक्ट करने की भी अनुमति है।
dir 1> files.txt 2> err.txt 3> nothing.txt
इस उदाहरण में "मानक आउटपुट" files.txt में जाएगा, सभी त्रुटियां इरेटेक्स में होंगी और स्ट्रीम 3 कुछ भी नहीं में जाएगा। (DIR धारा 3 का उपयोग नहीं करता है)।
Stream0 STDIN
स्ट्रीम 1 है STDOUT
Stream2 है STDERR
स्ट्रीम 3-9 का उपयोग नहीं किया जाता है
लेकिन अगर आप एक ही स्ट्रीम को कई बार रीडायरेक्ट करने की कोशिश करते हैं तो क्या होता है?
dir > files.txt > two.txt
"केवल एक ही हो सकता है", और यह हमेशा अंतिम होता है!
तो यह dir> two.txt के बराबर है
ठीक है, एक अतिरिक्त संभावना है, एक धारा को दूसरी धारा में पुनर्निर्देशित करना।
dir 1>files.txt 2>&1
2> & 1 रीडायरेक्ट स्ट्रीम 2 से स्ट्रीम 1 और 1> files.txt रीडायरेक्ट सभी files.txt पर ।
आदेश यहाँ महत्वपूर्ण है!
dir ... 1>nul 2>&1
dir ... 2>&1 1>nul
अलग है। पहले एक NUL में सभी (STDOUT और STDERR) को
रीडायरेक्ट करता है , लेकिन दूसरी लाइन NUL और STDERR को "खाली" STDOUT में रीडायरेक्ट करती है।
एक निष्कर्ष के रूप में, यह स्पष्ट है कि ओटवियो डेसियो और एंडोमार्नाक्स के उदाहरण क्यों काम नहीं कर सकते हैं।
command > file >&1
dir > file.txt >&2
दोनों दो बार धारा 1 को पुनर्निर्देशित करने की कोशिश करते हैं, लेकिन "केवल एक ही हो सकता है", और यह हमेशा अंतिम होता है।
तो आप प्राप्त करें
command 1>&1
dir 1>&2
और पहले नमूने में स्ट्रीम 1 से स्ट्रीम 1 तक पुनर्निर्देशन की अनुमति नहीं है (और बहुत उपयोगी नहीं है)।
आशा करता हूँ की ये काम करेगा।