बैच फ़ाइल से आप फ़ाइल (टेक्स्ट या बाइनरी) कैसे पढ़ सकते हैं? बाइनरी मोड या टेक्स्ट मोड में इसे पढ़ने का कोई तरीका है?बैच फ़ाइलें: फ़ाइल को कैसे पढ़ा जाए?
उत्तर
आप कमांड के लिए उपयोग कर सकते हैं: कमांड प्रॉम्प्ट पर
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do @echo %i %j %k
प्रकार
for /?
। इसके अलावा, आप parse ini files कर सकते हैं!
यह एक सुंदर जटिल उदाहरण है, बिना किसी स्पष्टीकरण के, विशेष रूप से स्वरूपित टेक्स्ट फ़ाइल से बहुत विशिष्ट जानकारी को पार्स करना। 'For /?' के अनुसार कमांड * myfile.txt में प्रत्येक पंक्ति को पार्स करेगा, अर्धविराम से शुरू होने वाली रेखाओं को अनदेखा कर देगा, प्रत्येक पंक्ति से दूसरे और तीसरे टोकन को शरीर के लिए पास कर देगा, कॉमा और/या रिक्त स्थान से सीमित टोकन के साथ * –
NT-शैली cmd.exe के अंतर्गत, आप
FOR /F %i IN (file.txt) DO @echo %i
प्रकार अधिक जानकारी के लिए कमांड प्रॉम्प्ट पर "के लिए सहायता" के साथ एक पाठ फ़ाइल की तर्ज के माध्यम से लूप कर सकते हैं। (पता नहीं है कि अगर में जो कुछ भी "DOS" आप उपयोग कर रहे काम करता है)
यह '%% i' होना चाहिए। –
यदि यह एक सफेद जगह चरित्र पाया जाता है तो यह आदेश एक रेखा पढ़ने से बाहर निकल जाएगा। मैं अंततः फॉर/एफ "टोकन = *" %% i IN (file.txt) DO @ECHO %% i – Jason
का उपयोग कर समाप्त हुआ यह काम करता है! और यदि आप कंसोल का उपयोग कर रहे हैं तो% i कोशिश करें यदि आप बैट फ़ाइल का उपयोग कर रहे हैं तो %% i का प्रयास करें। –
फोर-लूप आम तौर पर काम करता है, लेकिन कुछ मुद्दे हैं। फोर खाली लाइनों और लाइनों को स्वीकार नहीं करता है ~ 8190 से अधिक समस्याग्रस्त हैं। विस्तार विलंबित विस्तार अक्षम होने पर विस्तार केवल विश्वसनीय काम करता है।
एकल एलएफ बनाम सीआर/एलएफ का पता लगाना थोड़ा जटिल लगता है।
इसके अलावा एनयूएल वर्ण समस्याग्रस्त हैं, क्योंकि फोर-लूप तुरंत पढ़ने को रद्द कर देता है।
डायरेक्ट बाइनरी रीडिंग इसलिए लगभग असंभव प्रतीत होता है।
खाली लाइनों के साथ समस्या को एक चाल के साथ हल किया जा सकता है। Findstr कमांड का उपयोग करके, लाइन पंक्ति के साथ प्रत्येक पंक्ति को उपसर्ग करें, और पढ़ने के बाद, उपसर्ग को हटा दें।
@echo off
SETLOCAL DisableDelayedExpansion
FOR /F "usebackq delims=" %%a in (`"findstr /n ^^ t.txt"`) do (
set "var=%%a"
SETLOCAL EnableDelayedExpansion
set "var=!var:*:=!"
echo(!var!
ENDLOCAL
)
सक्षम और विकलांग देरी विस्तार के बीच टॉगल करने से आवश्यक सुरक्षित तार, !
या ^^^xy!z
तरह के साथ काम करने के लिए है।
ऐसा इसलिए है क्योंकि set "var=%%a"
लाइन DisabledDelayedExpansion के साथ सुरक्षित है, अन्यथा विस्मयादिबोधक चिह्न हटा दिए जाते हैं और कैरेट का उपयोग (माध्यमिक) से बचने वाले वर्णों के रूप में किया जाता है और उन्हें भी हटा दिया जाता है।
लेकिन परिवर्तनीय var
का उपयोग केवल EnabledDelayedExpansion के साथ सुरक्षित है, क्योंकि call %%var%%
"&"&
जैसी सामग्री के साथ विफल हो जाएगा।
संपादित करें: सेट जोड़ा गया/पी संस्करण
set /p
के साथ एक फ़ाइल को पढ़ने का एक दूसरा तरीका नहीं है, केवल नुकसान कर रहे हैं कि यह प्रति पंक्ति ~ 1024 वर्णों तक सीमित है और यह लाइन अंत में नियंत्रण वर्ण निकालता है ।
लेकिन लाभ है, तो आप देरी टॉगल जरूरत नहीं थी और इसे चर
@echo off
setlocal EnableDelayedExpansion
set "file=%~1"
for /f "delims=" %%n in ('find /c /v "" %file%') do set "len=%%n"
set "len=!len:*: =!"
<%file% (
for /l %%l in (1 1 !len!) do (
set "line="
set /p "line="
echo(!line!
)
)
में दुकान मूल्यों के लिए आसान है
आप SO: converting a binary file to HEX representation using batch file पर दिखाई दे सकता है यह "बाइनरी" पढ़ने एक हेक्स-प्रतिनिधित्व में के लिए
'सेट/पी' के उपयोग पर सूचक के लिए धन्यवाद। मैंने 'set/p value =
जेब से पहली पंक्ति प्राप्त की, मैंने http://stackoverflow.com/questions/11408295/with-dos में उपरोक्त आपके समाधान के आधार पर एक संबंधित प्रश्न पूछा -बैच-फ़ाइल-कैसे-टू-पार्स-ए-फाइल-एंड-आउटपुट-पार्ट-टू-वन-फाइल-पार्ट-टू-ए – Nicholas
ईओएफ (एंड-ऑफ-फाइल) कैरेक्टर, ASCII '0x1A' के बारे में क्या है ? क्या '/ f' समान रूप से एनयूएल (' 0x00') वर्णों के साथ व्यवहार करता है? – aschipfl
तुम सिर्फ cmd पर प्रदर्शित करना चाहते हैं, तो आप इस का उपयोग कर सकते हैं:
cat myfile.txt
'cat' विंडोज कमांड नहीं है , आपको इसके लिए 'टाइप' का उपयोग करना चाहिए। –
खैर theres अल विभिन्न तरीकों की OT लेकिन यदि आप केवल पाठ प्रदर्शित करने और यह दुकान नहीं चाहते कहीं तो आप का उपयोग करें:
set /p mytextfile=< %pathtotextfile%\textfile.txt
echo %mytextfile%
हो जाएगा ताकि: क्या करना findstr /v "randomtextthatnoonewilluse" filename.txt
एक बहुत ही आसान तरीका यह निम्न आदेश का उपयोग है केवल टेक्स्ट फ़ाइल में टेक्स्ट की पहली पंक्ति प्रदर्शित करें। दूसरी तरफ आप इसे निम्न आदेश का उपयोग कर सकते हैं:
type %pathtotextfile%\textfile.txt
यह स्क्रीन पर टेक्स्ट फ़ाइल में सभी डेटा डाल देगा। उम्मीद है की यह मदद करेगा!
- 1. बैच फ़ाइल में कंसोल से इनपुट कैसे पढ़ा जाए?
- 2. हैडूप अनुक्रमिक फ़ाइल को कैसे पढ़ा जाए?
- 3. निर्देशिका में फ़ाइल विशेषताओं को कैसे पढ़ा जाए?
- 4. gmon.out को कैसे पढ़ा जाए?
- 5. एक जार फ़ाइल से फ़ाइल को कैसे पढ़ा जाए?
- 6. फ़ाइल से फ़ाइल सामग्री को कैसे पढ़ा जाए?
- 7. सी # में फ़ाइल बाइनरी कैसे पढ़ा जाए?
- 8. एमपी 3 फ़ाइल टैग कैसे पढ़ा जाए
- 9. यूआरएल से सीएसवी फ़ाइल कैसे पढ़ा जाए?
- 10. एंड्रॉइड में सीएसवी फ़ाइल कैसे पढ़ा जाए?
- 11. स्प्रिंग बैच - एकाधिक धागे में एक बड़ी फ़ाइल को कैसे पढ़ा जाए?
- 12. पाइथन के ctypes का उपयोग करके सरणी युक्त संरचना को कैसे पढ़ा जाए और पढ़ा जाए?
- 13. एक्सएमआई कैसे पढ़ा जाए?
- 14. बिल्कुल एक पंक्ति को कैसे पढ़ा जाए?
- 15. एकाधिक रूट तत्व वाले JSON फ़ाइल को कैसे पढ़ा जाए?
- 16. istringstream में फ़ाइल सामग्री को कैसे पढ़ा जाए?
- 17. जावा बिटमैप में फ़ाइल को कैसे पढ़ा जाए?
- 18. स्क्रिप्ट फ़ाइल से स्क्रिप्ट को कैसे पढ़ा जाए?
- 19. आंतरिक मेमोरी में संग्रहीत छवि फ़ाइल को कैसे पढ़ा जाए?
- 20. सी ++ में बढ़ती हुई टेक्स्ट फ़ाइल को कैसे पढ़ा जाए?
- 21. Android में टेक्स्ट फ़ाइल को कैसे पढ़ा जाए?
- 22. विशेष वर्ण वाले एएनएसआई एन्कोडेड फ़ाइल को कैसे पढ़ा जाए
- 23. एर्लांग में फ़ाइल की सामग्री को कैसे पढ़ा जाए?
- 24. ग्रोवी में एक स्ट्रिंग में फ़ाइल को कैसे पढ़ा जाए?
- 25. किसी फ़ाइल से बिट्स को कैसे पढ़ा जाए?
- 26. web.config फ़ाइल में appSettings अनुभाग को कैसे पढ़ा जाए?
- 27. इंटरनेट संसाधन से टेक्स्ट फ़ाइल को कैसे पढ़ा जाए?
- 28. Android में सिस्टम लॉग फ़ाइल को कैसे पढ़ा जाए?
- 29. विंडोज बैच फ़ाइलें: लूप
- 30. .rej फ़ाइलों को कैसे पढ़ा जाए, i.e
@ रूकीटेक 9: हाँ, मुझे पता है कि वे 2 पूरी तरह से अलग चीजें हैं, लेकिन मुझे एक उत्तर की आवश्यकता है जो एमएसडीओएस में काम करता है, न कि विंडोज एनटी (या नए संस्करण), यह सवाल 7 साल पहले भी पूछा गया था, इसे ध्यान में रखें –
@ रूकीटेक 9: मुझे लगता है कि आप सही हैं, यह थोड़ी देर के बाद से रहा है। मैं बस एमएस-डॉस टैग –
हटा दूंगा आप एमएस-डॉस के लिए 'टाइप [fileName]' आदेश का उपयोग कर सकते हैं। – RookieTEC9