[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理每3行一列处理文本内容

本帖最后由 blueskyczg 于 2014-5-22 15:42 编辑

文本内容如下:
  1. 1
  2. 36
  3. 39
  4. 2
  5. 46
  6. 39
  7. 3
  8. 48
  9. 86
复制代码
处理后:
1,36,39
2,46,39
3,48,86
怎么处理?

  1. @echo off&setlocal enabledelayexpansion
  2. (for /f "delims=" %%a in (a.txt) do (
  3.         set /a n+=1
  4.         if !n!==3 (
  5.                 set "n=0"
  6.                 echo;%%a
  7.         ) else (
  8.                 set /p"=%%a,"
  9.         )
  10. ))<nul
  11. pause
复制代码
  1. @echo off
  2. set n=3
  3. (for /f "delims=" %%a in (a.txt) do (
  4. set /a "1/!(n-=1),n=3"&&echo;%%a||set /p"=%%a,"
  5. ))<nul 2>nul
  6. pause
复制代码
  1. @echo off
  2. (for /l %%a in () do (
  3. setlocal enabledelayedexpansion
  4. for /l %%a in (0 1 2) do set /p str[%%a]=
  5. if not defined str[0] pause&exit
  6. echo !str[0]!,!str[1]!,!str[2]!
  7. endlocal
  8. ))<a.txt
复制代码

TOP

返回列表