बैच फ़ाइल स्क्रिप्ट को पहले से बताए बिना बैच फ़ाइल में डंप करें


11

मुझे पता है कि मैं इस तरह से आउटपुट प्राप्त कर सकता हूं (मानक और त्रुटियों दोनों को पकड़ने के लिए):

[batchFilePath] > [logFilePath] 2>&1

या मानक उत्पादन के लिए इस तरह:

C:\MyBatchFile.bat > output.txt

लेकिन क्या बैच फ़ाइल के स्थान को निर्दिष्ट किए बिना ऐसा करने का एक तरीका है?

उदाहरण के लिए मान लें कि मैं चलाता हूं (निष्पादित करने के लिए सिर्फ डबल क्लिक) C: \ MyFolder \ MyBatch.cmd और मैं बैच फ़ाइल से बाहर निकलने के बाद (या यह पूरा होता है) मैं C: \ MyFolder \ MyBolder.txt में आउटपुट पा सकता हूं

यदि ऐसा है तो मुझे बैच फ़ाइल में क्या कोड शामिल करना होगा?

जवाबों:


6

एकमात्र उपाय जिसके बारे में मैं सोच सकता हूं, वह यह है कि >> output.txtहर कमांड आपके बैच फ़ाइल के कुछ आउटपुट के अंत में जोड़ रहा है । यह के अंत में आपकी फ़ाइल का आउटपुट जोड़ देगाoutput.txt

या दूसरा बैच फ़ाइल बनाना जो सामग्री होगी .\MyBatchFile.bat > output.txt


12

अपने आदेशों को गोल कोष्ठक में संलग्न करें। MyBatchFile.bat:

@echo off
REM setlocal enabledelayedexpansion

(
  echo line one
  echo line two
  echo line three
) > "%~dpn0.txt"

कोष्ठक के अंदर चर (का सामना करते समय एक बार में सभी का मूल्यांकन किया जाता है। enabledelayedexpansionमूल्यांकन में देरी करने के लिए उपयोग करें ।


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