[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程批处理在线视频分享
返回列表 发帖

[文本处理] 如何将文本数据由横排变竖排,且删除空格

本帖最后由 思想之翼 于 2018-2-11 12:59 编辑

欲将文本数据横排变竖排,下述代码是将文本数据由
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

下述代码如何修改?
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "D:\统计\"
  4. for %%f in (*.txt) do (
  5. set /p str=<"%%f"
  6. set n=0
  7. for %%i in (!str!) do (
  8. set /a n+=1
  9. )
  10. for /l %%a in (1 1 !n!) do call :aa %%a "%%f"
  11. move $ "%%f"
  12. )
  13. pause & exit
  14. :aa
  15. set s=
  16. for /f "tokens=%1" %%b in ('type %2') do (
  17. set "s=!s!%%b "
  18. )
  19. >>$ echo,!s:~0,-1!
  20. goto :eof
复制代码

  1. @echo off
  2. set "SrcDir=D:\统计"
  3. for /f "delims=" %%a in ('dir/a-d/s/b "%SrcDir%\*.txt"') do CALL :convert "%%a"
  4. exit
  5. :convert (FILE_PATH)
  6. setlocal enabledelayedexpansion
  7. set/a n=1
  8. :lp
  9. set "str="
  10. for /f "tokens=%n% delims= " %%a in ('type "%~1"') do set "str=!str!%%a"
  11. if "%str%"=="" (endlocal&goto:eof) else (echo.%str%>>"%~1.log")
  12. set/a n+=1&goto:lp
复制代码
1

评分人数

TOP

回复 2# yhcfsr

感谢!代码满足要求。如何才能覆盖原文本数据?

TOP

  1. @echo off
  2. set "SrcDir=D:\统计"
  3. for /f "delims=" %%a in ('dir/a-d/s/b "%SrcDir%\*.txt"') do CALL :convert "%%a"&&move /y "%%a.log" "%%a"
  4. exit
  5. :convert (FILE_PATH)
  6. setlocal enabledelayedexpansion
  7. set/a n=1
  8. :lp
  9. set "str="
  10. for /f "tokens=%n% delims= " %%a in ('type "%~1"') do set "str=!str!%%a"
  11. if "%str%"=="" (endlocal&goto:eof) else (echo.%str%>>"%~1.log")
  12. set/a n+=1&goto:lp
复制代码
回复 3# 思想之翼
1

评分人数

TOP

返回列表