为了账号安全,请及时绑定邮箱和手机立即绑定

Windows批处理命令从文本文件读取第一行

Windows批处理命令从文本文件读取第一行

慕森王 2019-10-19 14:08:53
如何使用Windows批处理文件从文本文件中读取第一行?由于文件很大,所以我只想处理第一行。
查看完整描述

3 回答

?
喵喵时光机

TA贡献1846条经验 获得超7个赞

这是一个通用批处理文件,用于打印nGNU head实用程序之类的文件中的顶行,而不仅仅是一行。


@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。


查看完整回答
反对 回复 2019-10-19
?
RISEBY

TA贡献1856条经验 获得超5个赞

呃你们...


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:\>


查看完整回答
反对 回复 2019-10-19
?
绝地无双

TA贡献1946条经验 获得超4个赞

您可以尝试一下:


@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

)


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 3980 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信