टेक्स्ट फ़ाइल में लिखने के लिए मैं बैच फ़ाइल का उपयोग कैसे कर सकता हूं?


192

मुझे एक स्क्रिप्ट बनाने की ज़रूरत है जो टेक्स्ट फ़ाइल की एक पंक्ति को उसी फ़ाइल में बैच फ़ाइल के रूप में लिख सकती है।

जवाबों:


308

आप echoकिसी पाठ फ़ाइल में आउटपुट का उपयोग और पुनर्निर्देशित कर सकते हैं (नीचे नोट्स देखें):

rem Saved in D:\Temp\WriteText.bat
@echo off
echo This is a test> test.txt
echo 123>> test.txt
echo 245.67>> test.txt

आउटपुट:

डी: \ अस्थायी> WriteText

D: \ Temp> test.txt टाइप करें
यह एक परीक्षण है
123
245.67

डी: \ अस्थायी>

टिप्पणियाँ:

  • @echo off कंसोल के लिए प्रत्येक कमांड का मुद्रण बंद कर देता है
  • जब तक आप इसे एक विशिष्ट पथ का नाम नहीं देते हैं, तब तक मौजूदा डायरेक्टरी के साथ पुनर्निर्देशन >या >>(निर्देशिका कोड चलाया जा रहा है) को लिख देगा।
  • किसी भी फ़ाइल को अधिलेखित करने के echo This is a test > test.txtलिए एक का उपयोग करता है >जो पहले से ही नई सामग्री के साथ मौजूद है।
  • शेष echoविवरण >>, ओवरराइट करने के बजाय, टेक्स्ट फ़ाइल में जोड़ने के लिए दो वर्णों का उपयोग करते हैं।
  • type test.txtबस कमांड विंडो को फ़ाइल आउटपुट प्रकार के।

14
पिछले तीन @संकेत बेमानी हैं क्योंकि आप पहले से ही थे @echo off। वे केवल तभी आवश्यक हैं जब गूंज को बंद नहीं किया गया था। stackoverflow.com/a/21077142/632951
पचेरियर

119

केवल एक कोड ब्लॉक का उपयोग करना आसान है, फिर आपको केवल एक पुनर्निर्देशन की आवश्यकता है।

(
  echo Line1
  echo Line2
  ...
  echo Last Line
) > filename.txt

7
OMG इतना सरल है और यह इसे आधे-अधूरे मानव बनाता है जो पटकथा से प्रभावशाली है, यह प्रोग्रामिंग की जिबरिश दुनिया के लिए परिचय की तरह है
gregg

यह मेरे लिए काम नहीं किया है, लेकिन ब्लॉक के सामने पुनर्निर्देशन के साथ एक भिन्नता `> filename.txt (` काम किया था।
10:20

2
@ मुझे लगता है, आपके कोड ब्लॉक में कहीं न कहीं एक अतिरिक्त क्लोजिंग कोष्ठक है। चाहे वह काम करे, चाहे आप रीडायरेक्शन को सामने रखें या ब्लॉक के बाद
jeb

@ जेब संभवतः - मेरे पास अब मेरी मूल परीक्षण फ़ाइल नहीं है, इसलिए यह सुनिश्चित नहीं किया जा सकता है। निश्चित रूप से मुझे बाद में ^) के रूप में बंद) पात्रों से बचना पड़ा, जो आपकी परिकल्पना का समर्थन करना चाहते हैं। फिर भी, कम से कम हमारी चर्चा दूसरों को संभावित जाल के प्रति सचेत करती है।
15

23

echo "blahblah"> txt.txt txt को मिटा देगा और blahblah को इसमें डाल देगा

echo "blahblah">> txt.txt txt में एक नई लाइन पर blahblah लिखेंगे

मुझे लगता है कि अगर कोई मौजूद नहीं है तो दोनों एक नया txt बनाएंगे (मुझे पता है कि पहला काम करता है)

जहां " txt.txt" ऊपर लिखा गया है, यदि वांछित है तो एक फ़ाइल पथ डाला जा सकता है। उदाहरण के लिए C:\Users\<username>\desktop, जो इसे अपने डेस्कटॉप पर रखेगा।


2
हाँ, यह दोनों के लिए सच है। अफसोस की बात है कि आपका जवाब मौजूदा उत्तरों में अतिरिक्त जानकारी नहीं देता है। (उल्लेख '%~dp0होगा ...)
Stephan

उसी फ़ोल्डर में txt लिखने के लिए?
डार्थ Tater

फ़ोल्डर में लिखने के लिए, जहाँ बैचफाइल रहता है (किसी भी cdया pushdकमांड से स्वतंत्र )
Stephan

14
    @echo off

    (echo this is in the first line) > xy.txt
    (echo this is in the second line) >> xy.txt

    exit

दोनों का >>मतलब है कि दूसरी पंक्ति को फ़ाइल में जोड़ा जाएगा (यानी दूसरी पंक्ति xy.txt की अंतिम पंक्ति के बाद शुरू होगी)।

इस xy.txtतरह दिखता है:

this is in the first line
this is in the second line

5

बैच फ़ाइलें रंग 0a का उपयोग कर शीर्षक लेखन से @echo

इको उदाहरण टेक्स्ट> फाइलनमेक्सट। इको अतिरिक्त टेक्स्ट >> फाइलनटेक्स्ट

@ECHO OFF
Title Writing Using Batch Files
color 0a

echo Example Text > Filename.txt
echo Additional Text >> Filename.txt

4
  • आप copy con एक लंबा पाठ लिखने के लिए उपयोग कर सकते हैं
  • उदाहरण:

    C: \ COPY CON [ड्राइव:] [पथ] [फ़ाइल नाम]

    .... सामग्री

    F6

    1 फ़ाइल (ओं) को कॉपी किया गया है


एक बैच फ़ाइल में, प्रतिलिपि चोर उपयोगकर्ता को संकेत देता है।
हिंगिंगर

3
@echo off

echo Type your text here.

:top

set /p boompanes=

pause

echo %boompanes%> practice.txt

उम्मीद है की यह मदद करेगा। आपको स्ट्रिंग नाम (आईडीके इसके नाम क्या है) और फ़ाइल नाम बदलना चाहिए

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