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

如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+=1&goto 1
if %m% gtr %n% set n=%m%
goto :eof

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

 

 

batman:


代码如下:

@echo off&setlocal 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.&pause&exit
: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
这样前面的就基本对齐了。后面的第三列 就不用说了…
我觉得应该可以了……至少我自己用不上太通用的,这个代码自己也没有当工具用过

(0)

相关推荐

  • div+css排版的样例

    div+css排版的样例 Div布局 body{text-align:center;margin:0;padding:0} /*text-align:center是ie中必须要有的*/ div { height:200px; color:red; } .title { margin:0 auto; width:776px; background-color:#abcdef; } .middle { margin:0 auto; width:776px; } .left { float:left;

  • 基于jQuery试卷自动排版系统

    需求 根据提供的试卷题目(是一个干净的只有"数据"的HTML网页)生成一份多页的试卷,用户能执行翻页.具有答题时间限制,展示给用户的试卷中题目需要占用尽量少的空间(比如选择题中把两条较短的选项由两行合并到一行).同一道题目不要跨页面显示以方便答题者,管理员能够改变试卷的样式(字体.颜色.行距.页面边距,像字处理软件一样--),题目之间可以插入一些说明性的文字(比如告知答题者作答的须知等等).题目提干.选择题的选项.说明文字可以包含多媒体信息(文字.图片.列表.表格.视频等等--).选择

  • 基于jQuery的试卷自动排版系统实现代码

    根据提供的试卷题目(是一个干净的只有"数据"的HTML网页)生成一份多页的试卷,用户能执行翻页.具有答题时间限制,展示给用户的试卷中题目需要占用尽量少的空间(比如选择题中把两条较短的选项由两行合并到一行).同一道题目不要跨页面显示以方便答题者,管理员能够改变试卷的样式(字体.颜色.行距.页面边距,像字处理软件一样--),题目之间可以插入一些说明性的文字(比如告知答题者作答的须知等等).题目提干.选择题的选项.说明文字可以包含多媒体信息(文字.图片.列表.表格.视频等等--).选择题选项

  • PHP 中英文混合排版中处理字符串常用的函数

    # 判断某个位置是中文字符的左还是右半部分,或不是中文  # 返回值 -1 左 0 不是中文字符 1 右  # 用法  /*  $a = 'this is 中文';  print is_chinese($a, 1); // 0  print is_chinese($a,8); // -1  print is_chinese($a,9); // 1  */  function is_chinese(&$str, $location) {  $ch = true;  $i = $location; 

  • Android重写TextView实现文字整齐排版的方法(附demo源码下载)

    本文实例讲述了Android重写TextView实现文字整齐排版的方法.分享给大家供大家参考,具体如下: XRTextView类 package rong.android.test; import org.json.JSONArray; import org.json.JSONException; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; impor

  • 基于Jquery制作图片文字排版预览效果附源码下载

    基于jQuery图文排版图片预览特效.这是一款基于jQuery+CSS3实现的鼠标点击图片弹出画廊切换特效. 效果图如下所示,怎么样感兴趣吗,感兴趣的朋友继续往下学习哦. 效果演示    源码下载 html代码: <div id="fullscreen"> <div id="fullscreen-inner"> <div id="fullscreen-inner-left" class="fullscree

  • 网页颜色搭配技巧 文字字体、字号、字体排版等

    对于做网页的初学者可能更习惯于使用一些漂亮的图片作为自己网页的背景,但是,浏览一下大型的商业网站,你会发现他们更多运用的是白色.蓝色.黄色等,使得网页显得典雅,大方和温馨.更重要的是,这样可以大大加快浏览者打开网页的速度. 一般来说,网页的背景色应该柔和一些.素一些.淡一些,再配上深色的文字,使人看起来自然.舒畅.而为了追求醒目的视觉效果,可以为标题使用较深的颜 色.下面是我做网页和浏览别人的网页时,对网页背景色和文字色彩搭配积累的经验,这些颜色可以做正文的底色,也可以做标题的底色,再搭配不同的

  • Android实现文本排版

    在项目中有一个小功能需要实现,就是对多行文本进行排版布局,每一行的内容又分为两部分,左边为标题,右边为描述,左边内容长度不确定,右边的内容需要对齐,如有换行也需要对齐右边的文本. 一.效果图 可以看到内容分成了两部分,左边的颜色与右边不一致,右边的描述文案统一对齐. 二.实现方案 以上功能,由于输入内容输入行数不确定,并且左边的文案长度也不确定,因此不能直接在布局中实现,基于此这里主要实现了以下6种方式 方案1 采用自定义控件的方式,继承TextView,重新onDraw函数,实现如下: /**

  • 11个用于提高排版水平的基于jquery的文字效果插件

    排版是在网页设计当中的一个重要的元素,实现一个高层次的排版风格可以让你的网页设计看起来更令人叹为观止,当你看到一些非同寻常的排版样式,你很好奇这些绚丽的色彩文字搭配效果是如何实现的,往往我们第一印象是使用CSS实现的,可是对于自己来说感到又有一定的难度,如今的瀑布流效果,大背景缩略图效果,我们其中只关注了图片绚丽的布局,其实还有一个细节就是文字色彩排版的实现,这个其实是主要的,有一些专门用于这些效果的jQuery插件,你可以实现卓越的排版设计在您的网站上.我们都知道,在传统的排版当中使用DIV+

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

    如1.txt内容如下.复制内容到剪贴板代码: 111111111111111111111 98912 张三 222222222222222222 150020 李四四 333333333333333333333 360000 王五 444444444444444444 2332 赵六六 555555555555555555 222 田七 666666666666666666666 999999 舞吧通过批处理输出为:复制内容到剪贴板代码: 111111111111111111111 98912

  • text-align:justify实现文本两端对齐 兼容IE

    对于text-align 我们再熟悉不过了,可是它有个justify属性,平时很少用到,就鲜为人知了.justify是一种文本靠两边布局方式,一般应用于书刊杂志排版:合理运用text-align:justify 有时会省去很多开发的时间. 要想更好的理解 css, 尤其是 IE 下对 css 的渲染,haslayout 是一个非常有必要彻底弄清楚的概念.大多 IE 下的显示错误,就是源于 haslayout. 什么是 haslayout ? haslayout 是Windows Internet

  • 输出的文本实现对齐的方法(超简单)

    在本博客中,可以找到一篇<c#实现输出的字符靠右对齐的示例> 它有教大家怎样实现字符串输出进行左齐或者是右对齐. 本篇的方法,超简单,是使用string.Format()对本进行格式化输出即可. Source Code class Ad { private string[] myVar; public Ad(string[] myValue) { this.myVar = myValue; } public void PadLeft() { foreach (string s in this.

  • C++实现LeetCode(68.文本左右对齐)

    [LeetCode] 68.Text Justification 文本左右对齐 Given an array of words and a width maxWidth, format the text such that each line has exactly maxWidth characters and is fully (left and right) justified. You should pack your words in a greedy approach; that i

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

    有两个文本如下(实际中并不知道两文本各有多少行): 文本1.txt aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ccccccccccccccccccccccccccccccccccccccc eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee ggggggggggggggggggggggggggggggggggggggg wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww zzzzzzzzzzzzzzzz

  • 整理关于Bootstrap排版的慕课笔记

    整理自慕课笔记 GitHub上这样介绍 bootstrap: 简单灵活可用于架构流行的用户界面和交互接口的html.css.javascript工具集. 基于html5.css3的bootstrap,具有大量的诱人特性:友好的学习曲线,卓越的兼容性,响应式设计,12列格网,样式向导文档. 自定义JQuery插件,完整的类库,基于Less等. 标题 主标题 Bootstrap和普通的HTML页面一样,定义标题都是使用标签<h1>到<h6>,只不过Bootstrap覆盖了其默认的样式,

  • Bootstrap入门书籍之(一)排版

    推荐阅读:Bootstrap入门书籍之(零)Bootstrap简介 Bootstrap 使用 Helvetica Neue. Helvetica. Arial 和 sans-serif 作为其默认的字体栈. 使用 Bootstrap 的排版特性,您可以创建标题.段落.列表及其他内联元素. 1. 标题 在Bootstrap中使用标题的方式和常规html一样:从 <h1> 到 <h6> 分别从大到小安排标题元素,只不过在Bootstrap中重新设置了其默认样式,从源码中可以看到有如下共

  • 全面解析Bootstrap排版使用方法(文字样式)

    一.段落 段落是排版中另一个重要元素之一.在Bootstrap中为文本设置了一个全局的文本样式(这里所说的文本是指正文文本): 1.全局文本字号为14px(font-size). 2.行高为1.42857143(line-height),大约是20px(大家看到一串的小数或许会有疑惑,其实他是通过LESS编译器计算出来的,当然Sass也有这样的功能). 3.颜色为深灰色(#333): 二.文字样式 在实际项目中,对于一些重要的文本,希望突出强调的部分都会做另外的样式处理.Bootstrap同样对

  • 需灵活掌握的Bootstrap预定义排版类 你精通吗?

    有了Bootstrap前端框架预处理好的排版类,我们从此不必再为每个排版的标签元素写大量的CSS代码了,可以使用 Bootstrap 的排版特性,您可以创建标题.段落.列表及其他内联元素预定义好的样式,排版出很规范的网页. 那我们接下来一起学习下,bootstrap前端框架到底为我们预定义了那些排版的类呢? 第一:Bootstrap 使用 Helvetica Neue. Helvetica. Arial 和 sans-serif 作为其默认的字体栈,这些字体都是目前所有网页最经常用的字体了.从此

  • WML学习之三 显示文本

    显示文本 在文本的显示上WML基本和HTML相同.文字段落包含在<p align= "alignment" mode=" wrapmode">和</p>之间,align属性指定该段文字的对齐方式,默认的是left,其他可选择right和center:mode属性指定当一行显示不下所有的文字时是否自动换行,默认的是自动换行wrap,如果选nowrap,则在一行中显示,浏览器会通过类似于水平滚动条的机制来显示所有文字.  换行标签也一样为<

随机推荐