Board logo

标题: [文本处理] (已解决)批处理如何将N个TXT文档中数列连续排列? [打印本页]

作者: zhouyigenii    时间: 2015-4-19 20:57     标题: (已解决)批处理如何将N个TXT文档中数列连续排列?

如何将多个TXT中|Adr     1|中的数字往下依次排列,数字只能占空格位,一直排列到每个文本的末尾。求高手指教,写个bat!谢谢
作者: pcl_test    时间: 2015-4-19 21:01

回复 1# zhouyigenii

打包一份样文上传附件
作者: pcl_test    时间: 2015-4-19 21:43

本帖最后由 pcl_test 于 2015-4-20 11:15 编辑
  1. @echo off &setlocal enabledelayedexpansion
  2. set "folder=处理结果"
  3. md "%folder%\" 2>nul
  4. for /f "delims=" %%z in ('dir /b *.txt') do (
  5. set n=0
  6. (for /f "tokens=1,2* delims=|" %%a in ('type "%%z"') do (
  7. if "%%c" neq "" (
  8. for /f "tokens=1*" %%d in ("%%b") do (
  9. set/a n+=1
  10. set "str=¥     !n!"
  11. echo,%%a^|%%d!str:~-6!^|%%c
  12. ))))>"%folder%\%%z"
  13. )
  14. pause
复制代码

作者: pcl_test    时间: 2015-4-19 21:44

问题得到解决后请在标题最前面注明[已解决]
http://www.bathome.net/thread-3473-1-1.html
作者: cobat    时间: 2015-4-19 22:00

本帖最后由 cobat 于 2015-4-19 22:20 编辑
  1. @echo off
  2. for /f "delims=" %%a in ('dir/b *.txt') do (
  3.     set n=0
  4.     (for /f "usebackq delims=" %%b in ("%%a") do (
  5.         set "$=%%b"
  6.         set/a n+=1
  7.         setlocal enabledelayedexpansion
  8.         set "#=     !n!"
  9.         echo !$:~,10!!#:~-6!!$:~16!
  10.         endlocal
  11.     ))>"_%%a"
  12. )
  13. pause
复制代码

作者: pcl_test    时间: 2015-4-19 22:31

回复 6# zhouyigenii

已在3楼修改
作者: zhouyigenii    时间: 2015-4-19 22:55

回复 7# pcl_test

啊啊啊。点错地方了,真不好意思!怎么改过来?
作者: pcl_test    时间: 2015-4-19 23:00

回复 7# zhouyigenii
没关系,评分改不了的
作者: zhouyigenii    时间: 2015-4-20 10:47

回复 8# pcl_test


Adr 这里全变成%d了
作者: pcl_test    时间: 2015-4-20 11:15

回复 9# zhouyigenii
已更正




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