[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
要使排版整齐
方案1 插人跳格 但行字符相差数 且中文 数字混合
方案2 找出最长字符行 按此行字符数排列  也有 中文 数字混合 干扰
方案3 找出最长字节行 按此行字节数排列

TOP

汗  终于有点明白 楼主的意图  如是这样 缺失部分 空在右边?

TOP

回复 4# CrLf

谢谢回贴。但,这个代码有二点不是完全符合我的要求:
1、不是横排生成列,要竖排,顺序要先排第一列,再排第二列 ... 这样才比较符合阅读习惯,如下图:

以复杂一些的索引实例,会准确一些的表达我的意图。

2、不能整除,空格最好添加在最后一列,如上图。遇到特殊情形,才考虑在余数列的最后添加一个空格。

TOP

貌似是这样:
  1. @echo off
  2. set /a 列数=5,列宽=32
  3. %1 %0 :|more /t%列宽% >b.txt&pause&exit
  4. for /f "delims=U" %%a in ('cmd /u /c echo 唉') do set "tab=%%a"
  5. (for /f "delims=" %%a in (a.txt) do (
  6.    set str=%%a
  7.    setlocal enabledelayedexpansion
  8.    set /p=!str!%tab%
  9.    endlocal
  10.    set /a n+=1,n%%=列数,n/n||echo;
  11. ))<nul 2>nul
复制代码

TOP

回复 2# terse

把目录行索引切分为目录列索引,就是把一列的索引切成多列的索引,目的是使索引占用页面空间更小,更便于阅读。
可能出现多种情形。
为了讨论方便,设总行数=k,切分列数=c,每列行数=x=k/c
切分后无非出现这几种情形:
1、k/c=整数,不用添加空格,按x列直接导出索引即可;
2、k/c≠整数,即有余数,这有二种情形:
1)c<x,可直接在最后一列补空格,使每列对齐,这符合一般的阅读习惯,这种情形是绝大多数;
2)c≥x,如34行切成11列,34/11=3,余3。
这时c=x,排列时,前三列每列四行,其余8列只能每列三行另加一外空格才对齐。如果空格补在最后的列,最后二列就成了空列,看起来就少了二列,或者说只有9列了。
因此,c≥x,如果空都补在后面,也可能出现最后二列,甚至更多列都为空。不只是“最后行才有”。

TOP

这种情况只有最后行才有吧
你想什么样目的  实在没理解

再说不被整除总是有空列的啊

TOP

返回列表