标题: [文本处理] 【已解决】如何将文本数据由横排变竖排,且删除空格 [打印本页]
作者: 思想之翼 时间: 2018-2-11 12:37 标题: 【已解决】如何将文本数据由横排变竖排,且删除空格
本帖最后由 思想之翼 于 2018-4-7 01:16 编辑
欲将文本数据横排变竖排,下述代码是将文本数据由
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
变成
1 1 1 1
2 2 2 2
3 3 3 3
4 4 4 4
欲删除空格,变成
1111
2222
3333
4444
下述代码如何修改?- @echo off
- setlocal enabledelayedexpansion
- cd /d "D:\统计\"
- for %%f in (*.txt) do (
- set /p str=<"%%f"
- set n=0
- for %%i in (!str!) do (
- set /a n+=1
- )
- for /l %%a in (1 1 !n!) do call :aa %%a "%%f"
- move $ "%%f"
- )
- pause & exit
- :aa
- set s=
- for /f "tokens=%1" %%b in ('type %2') do (
- set "s=!s!%%b "
- )
- >>$ echo,!s:~0,-1!
- goto :eof
复制代码
作者: yhcfsr 时间: 2018-2-11 16:45
- @echo off
- set "SrcDir=D:\统计"
- for /f "delims=" %%a in ('dir/a-d/s/b "%SrcDir%\*.txt"') do CALL :convert "%%a"
- exit
-
- :convert (FILE_PATH)
- setlocal enabledelayedexpansion
- set/a n=1
- :lp
- set "str="
- for /f "tokens=%n% delims= " %%a in ('type "%~1"') do set "str=!str!%%a"
- if "%str%"=="" (endlocal&goto:eof) else (echo.%str%>>"%~1.log")
- set/a n+=1&goto:lp
复制代码
作者: 思想之翼 时间: 2018-2-11 18:11
回复 2# yhcfsr
感谢!代码满足要求。如何才能覆盖原文本数据?
作者: yhcfsr 时间: 2018-2-11 18:17
- @echo off
- set "SrcDir=D:\统计"
- for /f "delims=" %%a in ('dir/a-d/s/b "%SrcDir%\*.txt"') do CALL :convert "%%a"&&move /y "%%a.log" "%%a"
- exit
-
- :convert (FILE_PATH)
- setlocal enabledelayedexpansion
- set/a n=1
- :lp
- set "str="
- for /f "tokens=%n% delims= " %%a in ('type "%~1"') do set "str=!str!%%a"
- if "%str%"=="" (endlocal&goto:eof) else (echo.%str%>>"%~1.log")
- set/a n+=1&goto:lp
复制代码
回复 3# 思想之翼
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |