दिलचस्प पोस्ट
मैं पृष्ठभूमि में चलाने के लिए एक निर्धारित शेड्यूल्ड कार्य कैसे सेट करूं? सेलेनियम का उपयोग कर फ़ायरफ़ॉक्स की अविश्वसनीय कनेक्शन की चेतावनी को अक्षम कैसे करें? क्या Google Apps स्क्रिप्ट का उपयोग करते हुए मैं Google दस्तावेज़ में कुछ शब्द रंग सकता हूँ? मैं एक सटीक समय कैसे प्राप्त कर सकता हूं, उदाहरण के लिए उद्देश्य सी में मिलीसेकंड में? मैं स्प्रिंग में सत्र ऑब्जेक्ट कैसे प्राप्त करूं? कैसे एक परीक्षण लिखने के लिए जो एक जैस्मीन में फेंक दिया त्रुटि की उम्मीद है? एंड्रॉइड कैमरा सफ़ल अवलोकन जावा समर्थन कर रहा है? मैं एएसपी.नेट एमवीसी दृश्य में वर्तमान क्रिया कैसे वापस कर सकता हूं? अलग बिटेट्स और / या अलग आईडी 3 टैग के साथ डुप्लिकेट एमपी 3 फ़ाइलें खोजें? जावा में सरल HTTP सर्वर जावा एसई एपीआई का उपयोग कर MySQL डाटाबेस में पंक्तियों को सम्मिलित करने का सबसे प्रभावी तरीका टाइमस्टैम्प को पठनीय तारीख / समय PHP में कनवर्ट करें AngularJS एक नियंत्रक लोड गतिशील आप सी # में प्रतिनिधियों का उपयोग कब करेंगे?

पाठ फ़ाइल से पहली पंक्ति को पढ़ने के लिए विंडोज बैच कमांड

Windows बैच फ़ाइल का उपयोग करते हुए मैं एक पाठ फ़ाइल से पहली पंक्ति कैसे पढ़ सकता / सकती हूं? चूंकि फ़ाइल बड़ी है इसलिए मैं केवल पहली पंक्ति से निपटना चाहता हूं

Solutions Collecting From Web of "पाठ फ़ाइल से पहली पंक्ति को पढ़ने के लिए विंडोज बैच कमांड"

यहां एक सामान्य प्रयोजन वाला बैच फ़ाइल है, जीएनयू head उपयोगिता की तरह फ़ाइल से शीर्ष n लाइनों को प्रिंट करने के लिए, सिर्फ एक पंक्ति के बजाय

 @echo off if [%1] == [] goto usage if [%2] == [] goto usage call :print_head %1 %2 goto :eof REM REM print_head REM Prints the first non-blank %1 lines in the file %2. REM :print_head setlocal EnableDelayedExpansion set /a counter=0 for /f ^"usebackq^ eol^=^ ^ delims^=^" %%a in (%2) do ( if "!counter!"=="%1" goto :eof echo %%a set /a counter+=1 ) goto :eof :usage echo Usage: head.bat COUNT FILENAME 

उदाहरण के लिए:

 Z:\>head 1 "test file.c" ; this is line 1 Z:\>head 3 "test file.c" ; this is line 1 this is line 2 line 3 right here 

यह वर्तमान में खाली पंक्तियों की गणना नहीं करता है यह 8 KB के बैच-फ़ाइल लाइन-लंबाई प्रतिबंध के अधीन भी है।

उह? आईएमओ यह बहुत सरल है

  set /p texte=< file.txt echo %texte% 

उह तुम लोग …

 C:\>findstr /n . c:\boot.ini | findstr ^1: 1:[boot loader] C:\>findstr /n . c:\boot.ini | findstr ^3: 3:default=multi(0)disk(0)rdisk(0)partition(1)\WINNT C:\> 

आप यह कोशिश कर सकते हैं:

 @echo off for /f %%a in (sample.txt) do ( echo %%a exit /b ) 

संपादित करें या, कहें कि आपके पास डेटा के चार कॉलम हैं और 5 वीं पंक्ति से नीचे तक नीचे की ओर देखें, इसे आज़माएं:

 @echo off for /f "skip=4 tokens=1-4" %%a in (junkl.txt) do ( echo %%a %%b %%c %%d ) 

पाठ फ़ाइल से पहली पंक्ति को पढ़ने के लिए विंडोज़ बैच कमांड ( उत्तरों) के साथ द टाल्कलिंगवालनट के लिए धन्यवाद मैं निम्नलिखित समाधान के साथ आया हूं:

 @echo off for /f "delims=" %%a in ('type sample.txt') do ( echo %%a exit /b ) 

अन्य लोगों के उत्तर पर थोड़ा सा निर्माण अब आपको उस फ़ाइल को निर्दिष्ट करने की इजाजत देनी है जिसे आप से पढ़ना चाहते हैं और जो चर आप परिणाम निकालते हैं:

 @echo off for /f "delims=" %%x in (%2) do ( set %1=%%x exit /b ) 

इसका मतलब है कि आप उपर्युक्त इस तरह का उपयोग कर सकते हैं (यह माना जाता है कि आप इसे getline.bat कहते हैं)

 c:\> dir > test-file c:\> getline variable test-file c:\> set variable variable= Volume in drive C has no label. 

एक लाइनर, stdout के लिए उपयोगी ">" के साथ रीडायरेक्ट:

 @for /f %%i in ('type yourfile.txt') do @echo %%i & exit 

एक्सआईटी / बी समाधान के साथ समस्या, जब एक वास्तविक बैच फ़ाइल में बैच फ़ाइल का केवल एक हिस्सा होता है एक्सआईटी / बी के बाद उस बैच फ़ाइल में कोई भी प्रसंस्करण नहीं है आम तौर पर सिर्फ एक, सीमित कार्य की तुलना में बैचों में बहुत अधिक है

उस समस्या का मुकाबला करने के लिए

 @echo off & setlocal enableextensions enabledelayedexpansion set myfile_=C:\_D\TEST\My test file.txt set FirstLine= for /f "delims=" %%i in ('type "%myfile_%"') do ( if not defined FirstLine set FirstLine=%%i) echo FirstLine=%FirstLine% endlocal & goto :EOF 

(हालांकि, तथाकथित जहर पात्रों अभी भी एक समस्या होगी।)

बैच कमांड के साथ एक विशेष पंक्ति प्राप्त करने के विषय पर अधिक:
"23} मैं एक टेक्स्ट फ़ाइल की पहली और अंतिम पंक्ति को कैसे प्राप्त करूं?"
http://www.netikka.net/tsneti/info/tscmd023.htm

[28-अगस्त -2012 को जोड़ा गया] एक भी हो सकता है

 @echo off & setlocal enableextensions set myfile_=C:\_D\TEST\My test file.txt for /f "tokens=* delims=" %%a in ( 'type "%myfile_%"') do ( set FirstLine=%%a& goto _ExitForLoop) :_ExitForLoop echo FirstLine=%FirstLine% endlocal & goto :EOF 

इसे इस्तेमाल करे

 @echo off setlocal enableextensions enabledelayedexpansion set firstLine=1 for /f "delims=" %%i in (yourfilename.txt) do ( if !firstLine!==1 echo %%i set firstLine=0 ) endlocal 

ध्यान दें, बैच फ़ाइल दृष्टिकोण डॉस कमांड प्रोसेसर के लिए लाइन सीमा तक सीमित होंगे – देखें कमांड लाइन की लंबाई सीमा क्या है? ।

इसलिए यदि किसी फाइल को संसाधित करने की कोशिश कर रही है जिसमें कोई भी लाइन है तो 8192 वर्ण स्क्रिप्ट केवल उन्हें छोड़ देंगे क्योंकि मान नहीं हो सकता।