2011-01-05 15 views
8

मैं एक फ़ाइल पर जाने के लिए बैच स्क्रिप्ट का मानक आउटपुट सेट करना चाहता हूं। यदि संभव हो तो मैं इसे स्क्रिप्ट के अंदर करना चाहूंगा।क्या स्क्रिप्ट के अंदर बैच फ़ाइल के आउटपुट को रीडायरेक्ट करना संभव है?

नोट: मैं नहीं ऐसा करना चाहते हैं: foo.bat > StdOut.txt

मैं स्क्रिप्ट के अंदर कुछ करने के लिए एक फ़ाइल
उदाहरण के लिए करने के लिए उत्पादन रीडायरेक्ट करने के लिए करना चाहते हैं:

foo। बल्ले

:: Redirect standard output to StdOut.txt 
:: Insert batch code to do what I want here. 

उत्तर

14

एक तरह से। स्क्रिप्ट में एक लेबल निष्पादित करने के लिए call कमांड का उपयोग करें। संपादित करें मुझे एहसास हुआ कि मैंने पोस्ट किया गया पहला संस्करण cmd.exe प्रॉम्प्ट में काम नहीं कर रहा है (मैं टीसीसी का उपयोग कर रहा था)। निम्नलिखित दोनों आदेश प्रोसेसर में काम करने के लिए लगता है:,

@echo off 
call :testitout > t.tmp 
goto:eof 

:testitout 
echo Hi There 
echo Goodbye 
+0

धन्यवाद इस मैं – SwDevMan81

+1

@ SwDevMan81 के लिए वास्तव में क्या देख रहा था था, कारण मैंने देखा क्योंकि मैं अतीत में यह करने के लिए चाहते थे और जानते थे कि कैसे कभी नहीं है। लेकिन आपके प्रश्न ने मेरे दिमाग को याद रखने के लिए प्रेरित किया कि कॉल कमांड बैच फ़ाइल में एक लेबल कह सकता है, जिसने मुझे यह आश्चर्यचकित कर दिया कि यह चाल काम करेगी। तो मैंने अभी अभी यह सीखा है। –

+0

हाँ मैं निश्चित रूप से इस बारे में सोचा नहीं होगा। ऐसा लगता है कि हम दोनों ने आज कुछ नया सीखा :) – SwDevMan81

1

>, मानक है ताकि आप अधिक या कम के साथ समस्या आ रही उस; हालांकि, आप यह बैच फ़ाइल के अंदर ले जा सकते हैं:

foo.bat: यह निम्नलिखित है ऐसा करने का

@echo off 
@echo Start File > StdOut.txt 
@dir >> StdOut.txt 
@echo End File >> StdOut.txt 
संबंधित मुद्दे