• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    把首行和尾行互换的批处理
    然后在新文本的首行写入提取到的最后一行,用 findstr 语句过滤掉原文本的第一行和最后一行,在最后一行 之后添加提取到的第一行。
    复制代码 代码如下:

    @echo off
    :: 目的:把首行和尾行互换
    :: 思路:
    :: 提取第一行和最后一行内容(若首行和最后一行是空行,则提取到的是非空的第一行和非空的最后一行内容),
    :: 然后在新文本的首行写入提取到的最后一行,用 findstr 语句过滤掉原文本的第一行和最后一行,在最后一行
    :: 之后添加提取到的第一行。
    :: 因为 findstr 处理最后一行有条件限制,所以先在最后一行之后生成一个空行,以保证提取的准确性
    :: 注意:请保证test.txt中没有敏感字符,没有内容重复的行,并且首行不能为空
    ::    
    ::     
    copy test.txt test.bak>nul
    echo.>>test.txt
    set num=0
    setlocal enabledelayedexpansion
    for /f "delims=" %%i in (test.txt) do (
    set str=%%i
    set /a num+=1
    if !num! equ 1 set var=%%i
    )
    >test_.txt echo.%str%
    findstr /b /e /v /c:"%str%" /c:"%var%" test.txt>>test_.txt
    >>test_.txt echo.%var%
    move test.bak test.txt
    start test_.txt
    goto :eof

    @echo off
    :: 可以处理首行为空、行内容重复的情况,
    :: 注意:因为 findstr /n 统计行数的时候,会忽略最后一个空行
    :: 所以,若在最后有空行的话,请保证空行的个数大于1
    findstr /n .* test.txt>tmp1.txt
    for /f "tokens=1* delims=:" %%i in (tmp1.txt) do (
    if %%i equ 1 set str=%%j
    set line=%%iset var=%%j
    )
    >tmp2.txt echo %line%:%var%
    findstr /b /v /c:"1:" /c:"%line%:" tmp1.txt>>tmp2.txt
    echo 1:%str%>>tmp2.txt
    echo.>>tmp2.txt
    cd.>result.txt
    for /f "tokens=1* delims=:" %%i in (tmp2.txt) do >>result.txt echo.%%j
    del /q tmp1.txt tmp2.txt
    start result.txt
    上一篇:把某个目录下所有txt中第三行第四个数字相加
    下一篇:拼接相临的奇偶行文本内容
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    把首行和尾行互换的批处理 把,首行,和,尾行,互换,的,