Board logo

标题: [文本处理] 批处理怎么样实现每一行的内容长度相同? [打印本页]

作者: TU闲趣    时间: 2017-2-22 18:00     标题: 批处理怎么样实现每一行的内容长度相同?

这个是要的效果
作者: TU闲趣    时间: 2017-2-25 10:22     标题: 有一段文本每行不定如果这个文本大于大于30个自动换行小于30个就不换行怎么弄!

本帖最后由 TU闲趣 于 2017-2-25 10:31 编辑

有一段文本每行不定如果这个文本大于大于30个自动换行小于30个就不换行怎么弄!
作者: Batcher    时间: 2017-2-25 13:29

请发一段文本出来方便测试代码
作者: TU闲趣    时间: 2017-2-25 13:30     标题: 附件附件附件附件

这个丨B7 9C 87 09丨UIEDO丨00 EE 00 00 00 00 00 9C 5C 9F A5 9C 5C 9F A5 E9 30 81 43 6E 0A AD EE AE 9F CF 21 C4 F8 F7 0D 36 1A BE E3 E9 42 51 3E C8 17 4F 75 1C 64 BA 52丨NULL, NULL, '2017年2月16日丨NULL);

处理后的丨B7 9C 87 09丨UIEDO丨00 EE 00 00 00 00 00 9C 5C 9F A5 9C 5C 9F A5 E9 30 81 43 6E 0A AD EE AE 9F CF 21 C4 F8 F7 0D 36 1A BE E3 E9 42 51 3E C8 17 4F 75 1C 64 BA 52
                丨NULL, NULL, '2017年2月16日丨NULL);
作者: TU闲趣    时间: 2017-2-25 13:32

回复 2# Batcher


    任意的文本都行就是每行的字符大于一个值的时候就换行小于就不做操作
作者: 回家路上    时间: 2017-2-25 13:47

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims= " %%i in (1.txt) do (
  3. call :printline "%%i"
  4. )
  5. pause & exit /b
  6. :printline [line]
  7. set "line=%~1"
  8. if defined line (
  9. echo;!line:~,30!
  10. call :printline "!line:~30!"
  11. )
  12. goto :eof
复制代码

作者: 回家路上    时间: 2017-2-25 13:52

回复 3# Batcher


老大,你还能把帖子整个搬迁过来,好神奇
作者: TU闲趣    时间: 2017-2-25 13:55

回复 6# 回家路上


    非常感谢!
作者: TU闲趣    时间: 2017-2-25 13:58

回复 7# 回家路上


    为什么没有效果
作者: Batcher    时间: 2017-2-25 16:03

回复 7# 回家路上


    请注意顶楼提示信息,是版主操作的,不是我。
作者: Batcher    时间: 2017-2-25 16:36

  1. @echo off
  2. (for /f "tokens=1-3,* delims=丨" %%a in ('type "sjk.txt"') do (
  3.     echo 丨%%a丨%%b丨%%c丨
  4.     echo %%d
  5. ))>"sjk_new.txt"
复制代码





欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2