Board logo

标题: [文本处理] [已解决]怎么写:检查重复文件名,并删除重复文件名的那一行? [打印本页]

作者: ik22    时间: 2011-1-16 20:03     标题: [已解决]怎么写:检查重复文件名,并删除重复文件名的那一行?

哥们好,我想请教下:
a.txt 里面每一行写出了html的路径.如:
F:\gdc\1105\19061.html
E:\gdc\1105\19062.html
D:\gdc\1105\19061.html
C:\gdc\1105\19064.html
F:\gdc\1105\19065.html
E:\gdc\1105\19066.html
G:\gdc\1105\19062.html
F:\gdc\1105\19061.html
...............

我现在想通过批处理,把a.txt所说的文件复制出来,并且放在同一个文件夹里面,但是有时可能会遇到相同文件名的情况,所以我想把重复文件名的路径从a.txt都删除,并把它输出,放在一个新的文本,以便我观察,请问如何写?

[ 本帖最后由 ik22 于 2011-1-16 20:26 编辑 ]
作者: yhcbird    时间: 2011-1-16 20:13

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%j in (a.txt) do (
  4. set "x=%%j"
  5. (for /f "delims=" %%a in ('findstr /c:"%%~nxj" a.txt') do (
  6. echo %%a )>> 8.txt
  7. type 8.txt|find /c /v "">7.txt
  8. del 8.txt
  9. for /f "delims=" %%i in (7.txt) do (
  10. if "%%i" gtr "1" (
  11. echo !x! >>11.txt
  12. ) else ( echo !x! >> 10.txt )
  13. )))
  14. del 7.txt
  15. pause
复制代码
11.txt里面是重复的文件路径 10.txt是删除重复后的剩下的文件路径

[ 本帖最后由 yhcbird 于 2011-1-16 20:20 编辑 ]




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