不知你每一列都对齐 还是就最后列对齐- @echo off&setlocal enabledelayedexpansion
- set /a len=n=0
- for /f "delims=" %%i in (test.txt) do (
- set s=%%i&set /a n+=1,m=0
- for %%j in (%%i) do (
- set s=%%j&set /a _len=1,m+=1
- for %%j in (256 128 64 32 16 8 4 2 1) do (
- if "!s:~%%j!" neq "" set /a _len+=%%j&set "s=!s:~%%j!"
- )
- for %%k in (!m!) do if !len%%k! lss !_len! set len%%k=!_len!
- set $!n!_!m!=%%j
- if !len! lss !_len! set len=!_len!
- )
- set #!n!=!m!
- )
- for /L %%i in (1,1,!len!) do set "k= !k!"
- for /L %%i in (1,1,!n!) do (
- set "str="
- for /L %%j in (1,1,!#%%i!) do (
- for %%k in (!len%%j!) do (
- if %%j neq 1 (
- set "s=!k!!$%%i_%%j!"
- set "str=!str! !s:~-%%k!"
- ) else (
- set "s=!$%%i_%%j!!k!"
- set "str=!str! !s:~,%%k!"
- )
- )
- )
- echo!str!
- )
- pause
复制代码 |