批处理实现文本内容横列变纵列的代码
批处理实现文本内容横列变纵列的代码
发布时间:2016-12-28 来源:查字典编辑
摘要:因为论坛会吞掉文本每行的第一个空格,现截图上来。每行的字符数都一样,但未知多少个字符。注意,文本第三行r之后有一个空格。第四行x之后有一个空...

因为论坛会吞掉文本每行的第一个空格,现截图上来。

批处理实现文本内容横列变纵列的代码1

每行的字符数都一样,但未知多少个字符。

注意,文本第三行r之后有一个空格。第四行x之后有一个空格。

输出为:

批处理实现文本内容横列变纵列的代码2

即横列变纵列,并保留原来空格。

要求,高效,不生成临时文件。

batman:

复制代码 代码如下:

@echo off

for /f "delims=" %%. in (1.txt) do set "_=0"&set "..=%%."&call :{}

for /l %%+ in (1,1,%_%) do call,echo.%%..%%+%%

pause>nul&goto :eof

:{}

set "#=%..:~,1%"&call,set "..=%%..:~1%%"&set /a _+=1&call,set "..%_%=%%..%_%%%%#%"&if defined .. goto {}

说明下:

之所以写下这么一段怪异的代码,就是想告诉大家,只要你运用得得当,批处理真的是可以随心所欲地写,这也就

是其中乐趣所在了。。。

浅默:

复制代码 代码如下:

@echo off&setlocal enabledelayedexpansion

for /l %%a in (0,1,10) do (

for /f "delims=" %%i in (a.txt) do (

set ke=%%i

set /p=!ke:~%%a,1!<nul

)

echo.

)

pause

Keen:

复制代码 代码如下:

@echo off&setlocal enabledelayedexpansion

for /f "delims=" %%i in (a.txt) do (

set v=%%i

set n=0

call :lp

)

for /l %%i in (1 1 %n%) do (

set num=%%i

call,echo %%_!num!%%

)

pause&exit/b

:lp

set /a n+=1

set _%n%=!_%n%!%v:~0,1%

set v=%v:~1%

if not "%v%"=="" goto lp

goto :eof

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新DOS/BAT学习
热门DOS/BAT学习
脚本专栏子分类