Board logo

标题: [文本处理] [已解决]请教各位,如何删除重复行后,再读取生成后文本内每行内容,并对其进行操作? [打印本页]

作者: playinthesky    时间: 2011-8-26 16:03     标题: [已解决]请教各位,如何删除重复行后,再读取生成后文本内每行内容,并对其进行操作?

本帖最后由 playinthesky 于 2011-8-26 16:54 编辑

引用论坛BATMAN大侠的编程,已经将重复行去除,再写入一个文本,是否可以利用批处理读取这个records.txt文本,并将显示在records.txt文本内的文件路径所在的文件删除?
w4.txt
K:\M\新建文件夹\11-07-18-016.dat
K:\M\新建文件夹\11-07-18-234.dat
K:\M\新建文件夹\11-07-18-180.dat
K:\M\新建文件夹\11-07-18-180.dat
K:\M\新建文件夹\11-07-18-261.dat
K:\M\新建文件夹\11-07-18-180.dat
K:\M\新建文件夹\11-07-18-180.dat
K:\M\新建文件夹\11-07-18-014.dat
K:\M\新建文件夹\11-07-18-180.dat
K:\M\新建文件夹\11-07-18-037.dat
.
.
.
很多个
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=" %%k in (w4.txt) do (
  3.    if not defined "%%k" echo %%k&set ""%%k"=k"
  4. ))>records.txt
复制代码
reords.txt 内容是
  1. K:\M\新建文件夹\11-07-18-016.dat
  2. K:\M\新建文件夹\11-07-18-234.dat
  3. K:\M\新建文件夹\11-07-18-180.dat
  4. K:\M\新建文件夹\11-07-18-261.dat
  5. K:\M\新建文件夹\11-07-18-014.dat
  6. K:\M\新建文件夹\11-07-18-037.dat
  7. .
  8. .
  9. .
  10. .
  11. 很多个
复制代码
现在想用批处理 读取这个 去除重复行的文本,将其文件内具体路径的文件一一删除

del  K:\M\新建文件夹\11-07-18-037.dat
del  K:\M\新建文件夹\11-07-18-180.dat
del  K:\M\新建文件夹\11-07-18-261.dat
del  K:\M\新建文件夹\11-07-18-014.dat
del  K:\M\新建文件夹\11-07-18-037.dat

最后结果就是 在 新建文件夹 下这些生成在records.txt的文件都删除了,

能实现吗?请教大家,谢谢~!!
作者: xudaweb    时间: 2011-8-26 16:21

  1. for /f "delims= " %%i in (records.txt) do (del  %%i)
复制代码

作者: cjiabing    时间: 2011-8-26 16:23

借你的代码改了一下,添加(echo %%k&if exist !k! del !k!)就是了:
  1. @echo off&setlocal enabledelayedexpansion
  2. cd.>records.txt
  3. (
  4. for  /f  "tokens=*"  %%k in (w4.txt) do (
  5.    if /i "%%k"=="!k!" (echo %%k&if exist !k! del !k!)
  6.    set  "k=%%k"
  7. )
  8. )>>records.txt
复制代码

作者: playinthesky    时间: 2011-8-26 16:53

回复 3# cjiabing
回复 3# xudaweb
谢谢两位大哥的帮助,弄好了!!




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