找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25691|回复: 12

[文本处理] [已解决]BAT批处理如何提取文本中的名字,不能重复?谢谢

[复制链接]
发表于 2013-12-26 13:43:26 | 显示全部楼层 |阅读模式
使用for /r %%i in (*.rmvb *.mkv) do echo %%i >>list.txt列出了名单,比如:
d:\张三\1.rmvb
d:\张三\2.rmbv
d:\张三\3.rmbv
d:\李四\3.rmbv
d:\李四\2.rmbv
d:\李四\1.rmbv
d:\王五\1.rmbv
d:\王五\2.rmbv
我现在想提取里面的名字,只想提取张三,李四,王五输入到txt中,不要重复,如何操作?谢谢!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2013-12-26 13:48:05 | 显示全部楼层
d:\A\张三\1.rmvb
d:\B\张三\2.rmvb
这样的算不算重复?
发表于 2013-12-26 14:32:03 | 显示全部楼层
本帖最后由 PowerShell 于 2013-12-26 16:28 编辑

就是dir  /ad  /w   > list.txt 么?
 楼主| 发表于 2013-12-26 14:38:45 | 显示全部楼层
回复 2# DAIC


    你好,我的意思是生成了一个txt文件,里面是的内容是:
d:\张三\1.rmvb
d:\张三\2.rmbv
d:\张三\3.rmbv
d:\李四\3.rmbv
d:\李四\2.rmbv
d:\李四\1.rmbv
d:\王五\1.rmbv
d:\王五\2.rmbv
现在想把txt文件中的名字提取出来,但是有3个张三,我只想提取一个;李四也是,王五也是。把生成的名字输入到一个文本文档中
发表于 2013-12-26 15:08:02 | 显示全部楼层
  1. @echo off
  2. (for /f "tokens=2 delims=" %%i in (a.txt) do (
  3.     if not defined %%i (
  4.         echo,%%i
  5.         set "%%i=1"
  6.     )
  7. ))>b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
changedirectory + 1 谢谢!

查看全部评分

 楼主| 发表于 2013-12-26 15:38:21 | 显示全部楼层
回复 5# DAIC


    你好,成功了。能解释下你的批处理吗?谢谢!
发表于 2013-12-26 15:49:28 | 显示全部楼层
回复 6# changedirectory


    哪里不懂就直接问
 楼主| 发表于 2013-12-26 16:23:19 | 显示全部楼层
  1. if not defined %%i (

  2.         echo,%%i

  3.         set "%%i=1"
复制代码
上面是什么意思?不明白
 楼主| 发表于 2013-12-26 16:24:20 | 显示全部楼层
回复 7# DAIC
  1. [code]if not defined %%i (

  2.         echo,%%i

  3.         set "%%i=1"
复制代码
[/code]
上面是什么意思?不明白
发表于 2013-12-26 17:12:49 | 显示全部楼层
 楼主| 发表于 2013-12-26 18:34:11 | 显示全部楼层
回复 10# DAIC


    谢谢!
发表于 2013-12-26 22:29:31 | 显示全部楼层
回复 5# DAIC


""tokens=2 delims=\""
这意思指的是从第二个字符读取到"\"前面结束吗
发表于 2013-12-27 08:32:06 | 显示全部楼层
回复 12# James_vivi


    以\为分隔符,取第二列。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 22:35 , Processed in 0.035364 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表