![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 01:20 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]给txt文档加行号 |
| 可打印版本 945 / 14 |
| 第1楼 userwww | 发表于 2007-10-10 16:00 |
| 初级用户 发帖 57 积分 136 | |
|
[已解决]给txt文档加行号 现有文本 a.txt ,行号不是从1开始,而是按指定的值开始(例如20)流水生成,而且行号结尾处加"+"符号,下面的链接未能达到这个要求,
http://www.cn-dos.net/forum/viewthread.php?tid=30749&fpage=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 ] |
|
| 第2楼 huzixuan | 发表于 2007-10-10 16:20 |
| 高级用户 发帖 219 积分 537 来自 芜湖 | |
|
setlocal enabledelayedexpansion
set n=20 for /f %%a in (a.txt) do ( >>b.txt echo !n!+%%a set /a n+=1 ) |
|
| 第3楼 userwww | 发表于 2007-10-10 16:27 |
| 初级用户 发帖 57 积分 136 | |
|
解决问题了,谢谢 huzixuan
|
|
| 第4楼 huzixuan | 发表于 2007-10-10 16:34 |
| 高级用户 发帖 219 积分 537 来自 芜湖 | |
|
因为那个 %%b 的for循环是镶嵌在 %%a 里的,所以%%a的每一行都要执行%%b的循环
|
|
| 第5楼 userwww | 发表于 2007-10-10 16:46 |
| 初级用户 发帖 57 积分 136 | |
|
歌词文件(*.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/viewthread.php?tid=23518&fpage=1&highlight=%E6%AD%8C%E8%AF%8D [ Last edited by userwww on 2007-10-10 at 06:18 PM ] |
|
| 第6楼 huzixuan | 发表于 2007-10-10 16:52 |
| 高级用户 发帖 219 积分 537 来自 芜湖 | |
|
A目录的歌词文件与B目录的MPE文件,他们一一对应吗.
如 A\1\歌曲.lrc 就会对应 B\2\歌曲.mp3 吗. 如何理解不对应 |
|
| 第7楼 userwww | 发表于 2007-10-10 16:57 |
| 初级用户 发帖 57 积分 136 | |
|
文件位置不一定对应
如 A\1\中 国人.Lrc B\2\中 国人.Mp3 但歌词名"中 国人" 和歌名"中 国人"是必须对应的,假如歌名有空格,歌词名也是要对应有空格的 |
|
| 第8楼 huzixuan | 发表于 2007-10-10 17:01 |
| 高级用户 发帖 219 积分 537 来自 芜湖 | |
|
"1.找出A目录下与B目录中不对应的Lrc并删除"
这是什么意思,怎么才知道是不对应呢 |
|
| 第9楼 userwww | 发表于 2007-10-10 17:05 |
| 初级用户 发帖 57 积分 136 | |
|
假如A中有一个 "刘德华-中国人.Lrc" 搜索B中是否有 "刘德华-中国人.MP3",两个是文件名一样,扩展名不同而已
|
|
| 第10楼 userwww | 发表于 2007-10-10 17:07 |
| 初级用户 发帖 57 积分 136 | |
|
和这个贴讨论的一样,但这个贴是找目录下不包子目录的配对, http://www.cn-dos.net/forum/viewthread.php?tid=23518&fpage=1&highlight=%E6%AD%8C%E8%AF%8D
|
|
| 第11楼 huzixuan | 发表于 2007-10-10 17:20 |
| 高级用户 发帖 219 积分 537 来自 芜湖 | |
|
2.找出B目录下与A目录中没有歌词的MP3文件找出来 第1个不晓得怎么才是不对应啊 |
|
| 第12楼 userwww | 发表于 2007-10-10 18:04 |
| 初级用户 发帖 57 积分 136 | |
|
@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 ] |
|
| 第13楼 bbq5201 | 发表于 2007-10-11 00:51 |
| 初级用户 发帖 51 积分 136 | |
|
楼主的第一个问题..能否用FOR /L来标识行号
|
|
| 第14楼 userwww | 发表于 2007-10-11 13:42 |
| 初级用户 发帖 57 积分 136 | |
Originally posted by bbq5201 at 2007-10-11 12:51 AM: 用 For /L 的行号是从1开始的,好象不能从指定值开始 |
|
| 第15楼 kangdf | 发表于 2007-10-11 21:11 |
| 新手上路 发帖 2 积分 4 | |
|
学习
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |