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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    实现两个文本同行交替输出的批处理代码
    有两个文本如下(实际中并不知道两文本各有多少行):

    文本1.txt

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    ccccccccccccccccccccccccccccccccccccccc
    eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    ggggggggggggggggggggggggggggggggggggggg
    wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

    文本2.txt

    hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj


    要求用批处理输出如下(两文本交替输出):

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
    ccccccccccccccccccccccccccccccccccccccc
    iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
    eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
    jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
    ggggggggggggggggggggggggggggggggggggggg

    wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
    zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz

    要求:
    1 尽量不生成临时文件
    2 代码要高效
    3 代码尽量简洁
    目的:
    唯一的目的在于共同提高!

    答案:
    more:
    复制代码 代码如下:

    @echo off
    setlocal enabledelayedexpansion
    for /f "delims=" %%a in ('type 11.txt') do (
    set /a m+=1
    set "home!m!=%%a"
    )
    for /f "delims=" %%b in ('type 12.txt') do (
    set /a n+=1
    set "bat!n!=%%b"
    )
    if %m% gtr %n% (
    for /l %%c in (1 1 %m%) do (
    if not "!home%%c!"=="" echo !home%%c!
    if not "!bat%%c!"=="" echo !bat%%c!
    )
    ) else (
    for /l %%d in (1 1 %n%) do (
    if not "!home%%d!"=="" echo !home%%d!
    if not "!bat%%d!"=="" echo !bat%%d!
    )
    )
    pause

     

    batman:
    复制代码 代码如下:

    @echo off
    for /f "delims=" %%i in (1.txt) do set /a n+=1call,set "_%%n%%=%%i"
    for /f "delims=" %%i in (2.txt) do set /a m+=1call,set ".%%m%%=%%i"
    if %n% gtr %m% (set "num=%n%") else (set "num=%m%")
    for /l %%i in (1,1,%num%) do (
    if defined _%%i call,echo %%_%%i%%
    if defined .%%i call,echo %%.%%i%%
    )
    pause>nul

     

    pusofalse:
    复制代码 代码如下:

    @echo offsetlocal enabledelayedexpansionset n=-1
    for /f "delims=" %%a in (1.txt) do (
    set/a n+=1
    set flag=
    call :lp %%a
    if not defined flag echo %%a
    )
    :lp
    if "%1" equ "" set/a n+=1
    set m=skip=%n%
    if "%m%" equ "skip=0" set "m="
    for /f "%m% delims=" %%a in (2.txt) do if "%1" neq "" (echo %1echo %%aset flag=agoto :eof) else echo %%a
    if "%1" equ "" pause


     

    batman:
    复制代码 代码如下:

    @echo off
    set "n=-1"set "flag=a"
    :begin
    set /a n+=1
    if %n% equ 0 (set "m=") else (set "m=skip=%n%")
    for /f "%m% delims=" %%i in (1.txt) do echo %%iif defined flag goto next
    set no=a
    :next
    for /f "%m% delims=" %%i in (2.txt) do echo %%igoto begin
    if not defined no set "flag="goto begin
    pause>nul

     

    batman:
    复制代码 代码如下:

    @echo offsetlocal enabledelayedexpansion
    set "num=0"
    for %%a in (1.txt 2.txt) do (
    for /f "delims=" %%i in (%%a) do (
    set /a n+=1
    if !n! gtr !num! set "num=!n!"
    set /p=%%i nul>>temp.txt
    )
    echo.>>temp.txtset "n=0"
    )
    :lp
    set /a n+=1
    for /f "tokens=%n%" %%i in (temp.txt) do echo %%i
    if %n% neq %num% goto lp
    del /q temp.txtpause>nul
    上一篇:IP动态切换bat脚本
    下一篇:用批处理查找字符数最多的文本行的代码
  • 相关文章
  • 

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

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

    实现两个文本同行交替输出的批处理代码 实现,两个,文本,同行,交替,