中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [已解决]给txt文档加行号 上一主题 | 下一主题
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『楼 主』:  [已解决]给txt文档加行号

现有文本 a.txt ,行号不是从1开始,而是按指定的值开始(例如20)流水生成,而且行号结尾处加"+"符号,下面的链接未能达到这个要求,
http://www.cn-dos.net/forum/view ... 1&highlight=txt

参考并改修某高人的这个P,发现A.txt每行都生成20~100的编号,请指点

for /f %%a in (a.txt) do (
    for /L %%b in (20,1,100) do (
        echo %%b +%%a >> b.txt
    )
)

已解决,多谢2F的朋友

[ Last edited by userwww on 2007-10-10 at 10:36 PM ]

2007-10-10 16:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 2 楼』:  

setlocal enabledelayedexpansion
set n=20
for /f %%a in (a.txt) do (
>>b.txt  echo !n!+%%a
set /a n+=1
)

   此帖被 +2 点积分    点击查看详情   
评分人:【 userwww 分数: +2  时间:2007-10-10 16:26




江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-10-10 16:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 3 楼』:  

解决问题了,谢谢 huzixuan

2007-10-10 16:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 4 楼』:  

因为那个 %%b 的for循环是镶嵌在 %%a 里的,所以%%a的每一行都要执行%%b的循环



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-10-10 16:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 5 楼』:  歌词文件(*.lrc)必须与歌曲文件(*.mp3)同名

现在的很多MP3都能显示歌词了,要正常显示的话,歌词文件(*.lrc)必须与歌曲文件(*.mp3)同名

A目录下装有*.Lrc歌词(有多个子目录),B目录下装*.MP3(也有多个子目录),因为我想把某些歌和歌词以后下载到随身听中,所以歌词名称和MP3的名称是必须对应的,我想 1.找出A目录下与B目录中不对应的Lrc并删除, 2.找出B目录下与A目录中没有歌词的MP3文件找出来

这个P只处理当前目录,如何成也难处理子目录的呢?

@echo off
del G:\list.txt>nul 2>nul
echo ---G:Music\01 >G:\list.txt
cd /d G:\music\01
for %%i in (*.mp3 *.wma) do (if not exist %%~ni.lrc echo %%~ni>>G:\list.txt)
echo ---G:Music\02 >>G:\list.txt
cd /d G:\Music\02
for %%i in (*.mp3 *.wma) do (if not exist %%~ni.lrc echo %%~ni>>G:\list.txt)
notepad G:\list.txt
exit

原始链接http://www.cn-dos.net/forum/view ... =%E6%AD%8C%E8%AF%8D

[ Last edited by userwww on 2007-10-10 at 06:18 PM ]

2007-10-10 16:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 6 楼』:  

A目录的歌词文件与B目录的MPE文件,他们一一对应吗.
如 A\1\歌曲.lrc 就会对应 B\2\歌曲.mp3 吗.
如何理解不对应



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-10-10 16:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 7 楼』:  

文件位置不一定对应
如 A\1\中 国人.Lrc   B\2\中 国人.Mp3

但歌词名"中 国人" 和歌名"中 国人"是必须对应的,假如歌名有空格,歌词名也是要对应有空格

2007-10-10 16:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 8 楼』:  

"1.找出A目录下与B目录中不对应的Lrc并删除"
这是什么意思,怎么才知道是不对应呢



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-10-10 17:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 9 楼』:  

假如A中有一个 "刘德华-中国人.Lrc" 搜索B中是否有 "刘德华-中国人.MP3",两个是文件名一样,扩展名不同而已

2007-10-10 17:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 10 楼』:  

和这个贴讨论的一样,但这个贴是找目录下不包子目录的配对, http://www.cn-dos.net/forum/view ... =%E6%AD%8C%E8%AF%8D

2007-10-10 17:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huzixuan
高级用户




积分 537
发帖 219
注册 2006-10-31
来自 芜湖
状态 离线
『第 11 楼』:  


@echo off
for /f "delims=" %%i in ('dir /b /s b\*.mp3') do (
dir /b /s "a\%%~ni".lrc >nul 2>nul||>>没有歌词的mp3文件.txt echo %%i
)
2.找出B目录下与A目录中没有歌词的MP3文件找出来
第1个不晓得怎么才是不对应啊



江湖远
碧空长
路茫茫

    一个人漫无目的的奔跑,风,刺骨的冷....
2007-10-10 17:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 12 楼』:  

@echo off
for /f "delims=" %%i in ('dir /b /s b\*.mp3') do (
dir /b /s "a\%%~ni".lrc >nul 2>nul||>>没有歌词的mp3文件.txt echo %%i
)

这里是单引号时"系统找不到指定的文件"出错,改为双引号,在没有歌词的mp3文件.txt 得出"dir /b /s b\*.mp3"

[ Last edited by userwww on 2007-10-10 at 06:06 PM ]

2007-10-10 18:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bbq5201
初级用户





积分 136
发帖 51
注册 2007-8-4
状态 离线
『第 13 楼』:  

楼主的第一个问题..能否用FOR /L来标识行号

2007-10-11 00:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
userwww
初级用户





积分 136
发帖 57
注册 2007-9-8
状态 离线
『第 14 楼』:  



  Quote:
Originally posted by bbq5201 at 2007-10-11 12:51 AM:
楼主的第一个问题..能否用FOR /L来标识行号

用 For /L 的行号是从1开始的,好象不能从指定值开始

2007-10-11 13:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kangdf
新手上路





积分 4
发帖 2
注册 2007-10-11
状态 离线
『第 15 楼』:  

学习

2007-10-11 21:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: