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

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1702
收藏 0 赞 0 分享
因为论坛会吞掉文本每行的第一个空格,现截图上来。


每行的字符数都一样,但未知多少个字符。
注意,文本第三行r之后有一个空格。第四行x之后有一个空格。
输出为:


即横列变纵列,并保留原来空格。
要求,高效,不生成临时文件。

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批处理文件经常用到的DOS常用命令

应用dos批处理文件经常用到的DOS常用命令
收藏 0 赞 0 分享

使用dos批处理文件的意义与应用方法

使用dos批处理文件的意义与应用方法
收藏 0 赞 0 分享

Tree、Unformat、Vsafe命令的区别与使用说明

Tree、Unformat、Vsafe命令的区别与使用说明
收藏 0 赞 0 分享

Interlnk、Intersvr、Qbasic命令的使用方法

Interlnk、Intersvr、Qbasic命令的使用方法
收藏 0 赞 0 分享

Append、Debug、Diskcomp命令的使用说明

Append、Debug、Diskcomp命令的使用说明
收藏 0 赞 0 分享

使用dos批处理文件的几个高级命令,判断

使用dos批处理文件的几个高级命令,判断
收藏 0 赞 0 分享

Ver、Vol、Ctty命令的使用教程

Ver、Vol、Ctty命令的使用教程
收藏 0 赞 0 分享

Ver、Vol、Ctty命令的使用教程

Ver、Vol、Ctty命令的使用教程
收藏 0 赞 0 分享

Setver、Share、Subst命令的使用方法

Setver、Share、Subst命令的使用方法
收藏 0 赞 0 分享

Expand、Fasthelp、Fc命令的用法

Expand、Fasthelp、Fc命令的用法
收藏 0 赞 0 分享
查看更多