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

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

每行的字符数都一样,但未知多少个字符。
注意,文本第三行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

时间: 2024-10-31 07:25:38

批处理实现文本内容横列变纵列的代码_DOS/BAT的相关文章

用批处理查找字符数最多的文本行的代码_DOS/BAT

有文本a.txt如下: aaaaaaa aaaa bbbbbb ccccccccccc dddd aa aaaaaaa bbbbbbbb cccccccccc ddddddddddddd eeeeeee aaaaaaaaaaaa bbbbbbbbbbb cccccccccccccccccccc aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aa aaaaaaaaaaaaaaaaaaaaaaaaaaaa bbbbbbbbbb aaaaaaaaa ccccccccc

批处理按要求将字符串分段输出的实现代码_DOS/BAT

一.要求用批处理随机输出200个字符到1.txt中的一行,内容类同如下: 代码: xh45q3ma+remgofm54sevhrna4g5r8pl9cjardezqjwj3m8itamh0a4itzd6jz8cmrfmibmhr0wmccyb8qnp2qh4rvlwff6yr2ez4eo063u6viy7ppw+nzxaxe8vrm190eei_0dwx5e2kxbds-ae6e96c9_i9glw8mz+uf6uienx9od8bktfnjlwlqu-e1rcj33_+4bz 二.要求用批处理

批处理实现的结束进程并删除文件的代码_DOS/BAT

复制代码 代码如下: @echo off title=结束进程并删除文件[Null] echo.请输入进程名: set /p exe= For /f "tokens=2,3 delims=," %%i In ('wmic process get ProcessId^,ExecutablePath /format:csv^|find /i "%exe%"') do ( taskkill /im %exe% del "%%i" /q ) pause&

批处理将非administrator用户全部禁掉的代码_DOS/BAT

本地测试还可以,要保证你的电脑的默认用户是adminstrator而且没有修改用户名,要不就会无法登陆电脑了. 复制代码 代码如下: @echo off :: by SKB setlocal enabledelayedexpansion net user|find /v "命令成功完成" >tmp.txt echo.>tmp2.txt for /f "skip=4 tokens=1" %%i in (tmp.txt) do echo %%i >&g

用批处理去掉快捷方式上的小箭头图案的代码_DOS/BAT

复制代码 代码如下: @echo off color 02 echo 请选择要执行的操作(1-删除,2-恢复,3-退出) set choice= set /p choice=请选择(1/2/3)按回车执行: if /i '%choice%'=='1' goto a if /i '%choice%'=='2' goto b if /i '%choice%'=='3' goto end :a reg delete HKEY_CLASSES_ROOT\piffile /v IsShortcut /f

批处理发送文件夹的快捷方式到桌面的代码_DOS/BAT

复制代码 代码如下: echo [InternetShortcut] > "%userprofile%\桌面\文件夹.url" echo URL=file:///C:/windows >> "%userprofile%\桌面\文件夹.url" 将上面的代码保存为1.bat即可.

使用批处理禁用(启用)组策略的代码_DOS/BAT

利用批处理禁用(启用)组策略 regsvr32 /s /u gpedit.dll 禁用 regsvr32 /s gpedit.dll 启用 单单使用这命令依然可以禁止使用组策略,但这样导致的后果就是- 这时候运行的组策略基本上只是个空壳了!利用下面的批处理将完美解决此类问题! 将下面这些代码编成BAT批处理文件,这段是禁用组策略的命令 复制代码 代码如下: @echo off regsvr32 /s /u fde.dll regsvr32 /s /u gpedit.dll regsvr32 /s

批处理实现文本内容居中显示的代码_DOS/BAT

a.txt 代码: [Promise don't come easy] I should have known all along. There was something wrong. I just never read between the lines. Then I woke up one day and found you on your way. Leaving nothing but my heart behind. What can I do to make it up to y

再谈DOS批处理下格式化日期字符串的多种方法(详解)_DOS/BAT

在Linux下,简单的一句话:date '+%Y%m%d-%H%M%S'就可以得到你要的输出:20120331-064219 可是在windows下,要想得到这个,还是需要费点功夫的. 1. 直接用字符串格式化输出 比如,如果你的机器上时间的输出是这样子的: c:\>echo %date%-%time% 2012-03-31 星期六- 6:44:02.50 那么,要想得到输出20120331- 64402,可以这样截取字符串: c:\>echo %date:~0,4%%date:~5,2%%d