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

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    文本左右对齐排版的批处理
    如1.txt内容如下。复制内容到剪贴板代码:
    111111111111111111111 98912 张三
    222222222222222222 150020 李四四
    333333333333333333333 360000 王五
    444444444444444444 2332 赵六六
    555555555555555555 222 田七
    666666666666666666666 999999 舞吧通过批处理输出为:复制内容到剪贴板代码:

    111111111111111111111 98912 张三
    222222222222222222 150020 李四四
    333333333333333333333 360000 王五
    444444444444444444 2332 赵六六
    555555555555555555 222 田七
    666666666666666666666 999999 舞吧代码要求,不生成任何临时文件。
    代码简洁,视思路与代码加分!
    ------------------------------------------------------------------------------------------
    本题只是给出一个简单的文本通过批处理排版,而要求代码的通用,正如batman版主所说,会是一个繁琐的过程,于是就题解题,不必考虑代码的通用。
    浅默:
    复制代码 代码如下:

    @echo off
    Setlocal Enabledelayedexpansion
    set n=0
    for /f "tokens=1,2*" %%i in (1.txt) do (
    set "ke=%%i %%j"
    set m=0
    call :1
    )
    for /f "tokens=1,2*" %%i in (1.txt) do (
    set "ke1=%%i %%j"
    set ke2=%%i
    set m1=0
    call :2
    echo !ke2! %%j %%k
    )
    pause
    goto :eof
    :1
    if not "!ke:~%m%,1!"=="" set /a m+=1goto 1
    if %m% gtr %n% set n=%m%
    goto :eof

    :2
    if not "!ke1:~%m1%,1!"=="" set /a m1+=1goto 2
    set /a dd=n-m1
    for /l %%a in (1,1,%dd%) do set "ke2=!ke2! "
    goto :eof

     

     

    batman:
    复制代码 代码如下:

    @echo offsetlocal enabledelayedexpansion
    set "kong= "
    for /f "delims=" %%a in (1.txt) do (
    for %%i in (%%a) do (
    set "str=%%i"set /a n+=1
    if !n! equ 2 (
    set "str=%kong%!str!"
    set /p=!str:~-10! nul
    ) else (
    set "str=!str!%kong%"
    set /p=!str:~,20! nul
    ))
    set "n=0"echo.
    )
    pause>nul

     

    more:
    复制代码 代码如下:

    @echo off
    setlocal enabledelayedexpansion
    for /f "tokens=1,2*" %%a in ('type temp.txt') do (
    set "mo=%%a"set "niu=%%b"set "m=0"set "n=0"set "very="
    call :ming0 %%a %%b %%c
    )
    echo.pauseexit
    :ming0
    if not "!mo:~%m%,1!"=="" (set "momo=!mo:~%m%,1!"set /a "m+=1"goto :ming0)
    :ming1
    if not "!niu:~%n%,1!"=="" (set "niuniu=!niu:~%n%,1!"set /a "n+=1"goto :ming1)
    set /a "ming=30-%m%-%n%"
    for /l %%i in (1 1 %ming%) do set "very=!very! "
    echo %1 %very% %2 %3

     

    523066680:
    复制代码 代码如下:

    @echo off
    mode con cols=100 lines=20
    setlocal enabledelayedexpansion
    for /l %%a in (1,1,80) do set kong= !kong!
    for /f "eol= tokens=1,2,3" %%a in ('type 1.txt') do (
    set lie1-2=%%a%%b%kong%
    set lie1-2=!lie1-2:~0,80!
    set lie1-2=%%a!lie1-2:%%a%%b=!%%b
    echo,!lie1-2! %%c
    )
    pause

    原理:例如文本内容为:
    ab******1*d
    abc*************2********e
    用for获得前面的两列
    直接组合 则免去了中间的空格:
    ab1
    abc2
    直接加上80个空格
    ab1***************************……
    abc2***************************……
    然后保存前80位。
    ab1*********……***
    abc2********……***
    把空格前移
    ab*********……***1
    abc********……***2
    这样前面的就基本对齐了。后面的第三列 就不用说了…
    我觉得应该可以了……至少我自己用不上太通用的,这个代码自己也没有当工具用过
    您可能感兴趣的文章:
    • div+css排版的样例
    • 网页颜色搭配技巧 文字字体、字号、字体排版等
    • PHP 中英文混合排版中处理字符串常用的函数
    • 基于jQuery试卷自动排版系统
    • 基于jQuery的试卷自动排版系统实现代码
    • 11个用于提高排版水平的基于jquery的文字效果插件
    • 基于Jquery制作图片文字排版预览效果附源码下载
    • Android重写TextView实现文字整齐排版的方法(附demo源码下载)
    • Android实现文本排版
    上一篇:用批处理查找字符数最多的文本行的代码
    下一篇:批处理重命名特殊文件名的代码
  • 相关文章
  • 

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

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

    文本左右对齐排版的批处理 文本,左右,对齐,排版,的,