中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 去掉(F:\)字符,另提取所有含有(.MP3)字符的行
作者:
标题: 去掉(F:\)字符,另提取所有含有(.MP3)字符的行 上一主题 | 下一主题
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『楼 主』:  去掉(F:\)字符,另提取所有含有(.MP3)字符的行

以下为需要处理的文本内容:

F:\轻松玩乐团-草包一样的生活.mp3
F:\Pet Shop Boys-love etc..mp3
F:\旺福-胖妞的怒吼.mp3
F:\list.txt
F:\KwMusic.exe
F:\STEREOPHONICS-MAYBE TOMORROW.mp3
F:\The gala-young for you(年轻).mp3
F:\Pink-Please Don't Leave Me.mp3
F:\声音碎片-优美的低于生活.mp3
F:\We Shot The Moon-In The Blue.mp3
F:\Sum41-open your eyes.mp3
F:\Shivaree-Goodnight Moon.mp3
F:\MC Hot Dog-差不多先生.mp3
F:\周迅-小聪明.mp3
F:\Avril Lavigne(艾薇儿)-When You're Gone.mp3
F:\待测code.txt
F:\My Little Airport-让我搭上一班会爆炸的飞机.mp3
F:\木马-庆祝生活的方法.mp3
F:\Recycled\Df2.txt
F:\Recycled\Df3.txt
F:\Recycled\Df4.txt
F:\Recycled\Df1\get3.ico
F:\Recycled\Df1\notepad.exe
F:\Recycled\Df1\IconCutter.exe
F:\Recycled\Df1\get2.ico
F:\Recycled\Df1\get.ico
F:\Recycled\Df1\get4.ico

[ Last edited by lcleft on 2009-4-30 at 00:50 ]

2009-4-30 00:37
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 2 楼』:  

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=\" %%a in (a.txt) do (set str=0%%b
    if "!str:.mp3=!" neq "!str!" echo %%b
)

[ Last edited by netbenton on 2009-4-29 at 23:22 ]



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-30 00:47
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
freeants001
中级用户




积分 330
发帖 244
注册 2006-4-14
来自 湖北
状态 离线
『第 3 楼』:  



  Quote:
  1. for /f "delims=" %%i in (list.txt) do @if "%%~xi" equ ".mp3" echo %%~pnxi

Mailto: freeants.mail@163.com



2009-4-30 00:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yangfengoo
初级用户




积分 47
发帖 41
注册 2009-4-24
状态 离线
『第 4 楼』:  

『第 2 楼』:  

@echo off&setlocal enabledelayedexpansion
for /f "tokens=1* delims=\" %%a in (a.txt) do (set str=0%%b
    if "!str:.mp3=!" neq !str! echo %%b
)

测试失败啊
得到如下:

轻松玩乐团-草包一样的生活.mp3  
Pet Shop Boys-love etc..mp3  
旺福-胖妞的怒吼.mp3  
list.txt  
KwMusic.exe  
STEREOPHONICS-MAYBE TOMORROW.mp3  
The gala-young for you(年轻).mp3  
Pink-Please Don't Leave Me.mp3  
声音碎片-优美的低于生活.mp3  
We Shot The Moon-In The Blue.mp3  
Sum41-open your eyes.mp3  
Shivaree-Goodnight Moon.mp3  
MC Hot Dog-差不多先生.mp3  
周迅-小聪明.mp3  
Avril Lavigne(艾薇儿)-When You're Gone.mp3  
待测code.txt  
My Little Airport-让我搭上一班会爆炸的飞机.mp3  
木马-庆祝生活的方法.mp3  
Recycled\Df2.txt  
Recycled\Df3.txt  
Recycled\Df4.txt  
Recycled\Df1\get3.ico  
Recycled\Df1\notepad.exe  
Recycled\Df1\IconCutter.exe  
Recycled\Df1\get2.ico  
Recycled\Df1\get.ico  
Recycled\Df1\get4.ico

2009-4-30 00:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yangfengoo
初级用户




积分 47
发帖 41
注册 2009-4-24
状态 离线
『第 5 楼』:  

3楼测试

得到:
\轻松玩乐团-草包一样的生活.mp3
\Pet Shop Boys-love etc..mp3
\旺福-胖妞的怒吼.mp3
\STEREOPHONICS-MAYBE TOMORROW.mp3
\The gala-young for you(年轻).mp3
\Pink-Please Don't Leave Me.mp3
\声音碎片-优美的低于生活.mp3
\We Shot The Moon-In The Blue.mp3
\Sum41-open your eyes.mp3
\Shivaree-Goodnight Moon.mp3
\MC Hot Dog-差不多先生.mp3
\周迅-小聪明.mp3
\Avril Lavigne(艾薇儿)-When You're Gone.mp3
\My Little Airport-让我搭上一班会爆炸的飞机.mp3
\木马-庆祝生活的方法.mp3

多了\

新手结合2,3楼的来意个
for /f "tokens=2* delims=\" %%i in (a.txt) do @if "%%~xi" equ ".mp3" echo %%i >>mp3list.txt

[ Last edited by yangfengoo on 2009-4-30 at 01:20 ]

2009-4-30 01:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lcleft
社区乞丐





积分 -31
发帖 32
注册 2009-3-12
状态 离线
『第 6 楼』:  

if "%%~xi" equ ".mp3"
不明白 "%%~xi"

2009-4-30 01:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 7 楼』:  

re 楼主
2楼原少了一对双引号,已改正


你的那个行要这样才行吧:
for /f "tokens=1* delims=\" %%i in (a.txt) do @if "%%~xj" equ ".mp3" echo %%j >>mp3list.txt



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-30 01:25
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
yangfengoo
初级用户




积分 47
发帖 41
注册 2009-4-24
状态 离线
『第 8 楼』:  

不会啊我的
for /f "tokens=2* delims=\" %%i in (a.txt) do @if "%%~xi" equ ".mp3" echo %%i >>mp3list.txt
和你的
for /f "tokens=1* delims=\" %%i in (a.txt) do @if "%%~xj" equ ".mp3" echo %%j >>mp3list.txt
得到的 完全一样啊。

我应2*的哦。

[ Last edited by yangfengoo on 2009-4-30 at 01:39 ]



正在学习中……
2009-4-30 01:38
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yangfengoo
初级用户




积分 47
发帖 41
注册 2009-4-24
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by lcleft at 2009-4-30 01:23:
if "%%~xi" equ ".mp3"
不明白 "%%~xi"

看教程
FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:
   
     ~I         - 删除任何引号("),扩充 %%I
     %%~fI        - 将 %%I 扩充到一个完全合格的路径名
     %%~dI        - 仅将 %%I 扩充到一个驱动器号
     %%~pI        - 仅将 %%I 扩充到一个路径
     %%~nI        - 仅将 %%I 扩充到一个文件名
     %%~xI        - 仅将 %%I 扩充到一个文件扩展名
     %%~sI        - 扩充的路径只含有短名
     %%~aI        - 将 %%I 扩充到文件的文件属性
     %%~tI        - 将 %%I 扩充到文件的日期/时间
     %%~zI        - 将 %%I 扩充到文件的大小
     %%~$PATH:I   - 查找列在路径环境变量的目录,并将 %%I 扩充
                   到找到的第一个完全合格的名称。如果环境变量名
                   未被定义,或者没有找到文件,此组合键会扩充到
                   空字符串

可以组合修饰符来得到多重结果:

     %%~dpI       - 仅将 %%I 扩充到一个驱动器号和路径
     %%~nxI       - 仅将 %%I 扩充到一个文件名和扩展名
     %%~fsI       - 仅将 %%I 扩充到一个带有短名的完整路径名
     %%~dp$PATH:i - 查找列在路径环境变量的目录,并将 %%I 扩充
                   到找到的第一个驱动器号和路径。
     %%~ftzaI     - 将 %%I 扩充到类似输出线路的 DIR

这里只给出一个例子,具体的读者可以在实际应用中细细体会。

例:
        @echo off
        for /r %%i in (*.txt) do (
        echo %%~zi    %%~ni
        )
        pause
结果:显示当前目录及其子目录下的所有txt文档,左半部分显示文件的大小,右半部分是文件名(不包含扩
展名)。
解说:“%%~zi”代表文件的大小,“%%~ni”代表文件名(不包含扩展名)。



正在学习中……
2009-4-30 01:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 10 楼』:  

哦!没错
你的mp3文件全都在根目录下的,所以就都可以了,要是还有子目录的话,是要用1*才行的。



精简
[你的+我的+他的]=>[大家的]    个人网志   
2009-4-30 01:43
查看资料  发送邮件  发短消息 网志  OICQ (37659560)  编辑帖子  回复  引用回复
yangfengoo
初级用户




积分 47
发帖 41
注册 2009-4-24
状态 离线
『第 11 楼』:  

是啊,是啊。你的的确好的多。
新手要学习啊。



正在学习中……
2009-4-30 02:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 12 楼』:  


@echo off
for /f "tokens=1* delims=\" %%a in ('findstr /i "\.mp3" a.txt') do echo.%%b
pause




致精致简!
2009-4-30 02:22
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: