文本要求:不能使用空格,只能使用汉字空白符“ ”前对齐
将进酒—李白
君不见,黄河之水天上来,奔流到海不复回。
君不见,高堂明镜悲白发,朝如青丝暮成雪。
人生得意须尽欢,莫使金樽空对月。
天生我材必有用,千金散尽还复来。
烹羊宰牛且为乐,会须一饮三百杯。
岑夫子,丹丘生,将进酒,杯莫停。
与君歌一曲,请君为我侧耳听:
钟鼓馔玉不足贵,但愿长醉不复醒。
古来圣贤皆寂寞,唯有饮者留其名。
陈王昔时宴平乐,斗酒十千恣欢谑。
主人何为言少钱,径须沽取对君酌。
五花马,千金裘,呼儿将出换美酒,
与尔同销万古愁。
批处理代码:
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (1.txt) do call:han "%%a"
for /l %%a in (1,1,%Ye%) do set Xing= !Xing!
for /f "delims=" %%a in (1.txt) do (
set Han=%%a%Xing%
for /l %%b in (0,1,%Ye%) do set #%%b=!#%%b! !Han:~%%b,1!
)
set/a Ye-=1
(for /l %%a in (0,1,%Ye%) do echo !#%%a!)>3.txt
exit
:han
set Han=%~1
if defined Ye (set Gu=%Ye%) else set Gu=0
:ye
if "!Han:~%Gu%,1!"=="" (
if "%Ye%"=="" set Ye=%Gu%
if %Gu% gtr %Ye% set Ye=%Gu%
goto:eof
)
set/a Gu+=1
goto:ye
if defined Ye (set Gu=%Ye%) else set Gu=0用于加快子循环速度的
for /l %%a in (1,1,%Ye%) do set Xing= !Xing!用于补位,变量为连续的汉字空白符
如果不想空格分隔,则把
set #%%b=!#%%b! !Han:~%%b,1!
改成
set #%%b=!#%%b!!Han:~%%b,1!
如果要从右向左显示,则改成
set #%%b=!Han:~%%b,1! !#%%b!
或
set #%%b=!Han:~%%b,1!!#%%b!
Last edited by Hanyeguxing on 2010-12-8 at 15:23 ]