![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 18:50 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 去掉(F:\)字符,另提取所有含有(.MP3)字符的行 |
| 可打印版本 1,035 / 11 |
| 第1楼 lcleft | 发表于 2009-04-30 00:37 |
| 社区乞丐 发帖 32 积分 -31 | |
|
去掉(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 ] |
|
| 第2楼 netbenton | 发表于 2009-04-30 00:47 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
@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 ] |
|
| 第3楼 freeants001 | 发表于 2009-04-30 00:47 |
| 中级用户 发帖 244 积分 330 来自 湖北 | |
Mailto: freeants.mail@163.com |
|
| 第4楼 yangfengoo | 发表于 2009-04-30 00:53 |
| 初级用户 发帖 41 积分 47 | |
|
『第 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 |
|
| 第5楼 yangfengoo | 发表于 2009-04-30 01:09 |
| 初级用户 发帖 41 积分 47 | |
|
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 ] |
|
| 第6楼 lcleft | 发表于 2009-04-30 01:23 |
| 社区乞丐 发帖 32 积分 -31 | |
|
if "%%~xi" equ ".mp3"
不明白 "%%~xi" |
|
| 第7楼 netbenton | 发表于 2009-04-30 01:25 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
re 楼主
2楼原少了一对双引号,已改正 你的那个行要这样才行吧: for /f "tokens=1* delims=\" %%i in (a.txt) do @if "%%~xj" equ ".mp3" echo %%j >>mp3list.txt |
|
| 第8楼 yangfengoo | 发表于 2009-04-30 01:38 |
| 初级用户 发帖 41 积分 47 | |
|
不会啊我的
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 ] |
|
| 第9楼 yangfengoo | 发表于 2009-04-30 01:40 |
| 初级用户 发帖 41 积分 47 | |
Originally posted by lcleft at 2009-4-30 01:23: 看教程 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”代表文件名(不包含扩展名)。 |
|
| 第10楼 netbenton | 发表于 2009-04-30 01:43 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
哦!没错
你的mp3文件全都在根目录下的,所以就都可以了,要是还有子目录的话,是要用1*才行的。 |
|
| 第11楼 yangfengoo | 发表于 2009-04-30 02:00 |
| 初级用户 发帖 41 积分 47 | |
|
是啊,是啊。你的的确好的多。
新手要学习啊。 |
|
| 第12楼 26933062 | 发表于 2009-04-30 02:22 |
| 银牌会员 发帖 879 积分 2,268 | |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |