标题: [文件操作] [已解决]BAT如何批量将文件名与文本内容比较并生成结果? [打印本页]
作者: batsealine 时间: 2013-1-30 11:42 标题: [已解决]BAT如何批量将文件名与文本内容比较并生成结果?
本帖最后由 batsealine 于 2013-1-31 22:31 编辑
假如现有“将爱”、“浮躁”两个文件夹,里面都有若干歌曲,但歌曲不全或有错误,为了找出所缺歌曲和多余歌曲,从网上查得专辑曲目,制成"将爱.txt”、"浮躁.txt"两个文档放在总目录下,文档内容形如:
夜妆
阳宝
……
要求自动匹配比较生成result.txt,格式形如:
将爱
缺:
……
多:
……
浮躁
缺:
……
多:
……
作者: apang 时间: 2013-1-30 13:53
- @echo off
- (for %%i in (将爱 浮躁) do (
- echo,%%i 文件夹:
- (for /f "delims=" %%a in ('dir /a-d/b %%i\*') do (
- echo,%%~na
- ))>$
- echo,多:&findstr /ivg:%%i.txt $
- echo,缺:&findstr /ivg:$ %%i.txt
- echo,
- ))>Result.txt
- del $
- pause
复制代码
作者: batsealine 时间: 2013-1-30 15:41
回复 2# apang
你的批处理中怎么还出现了“将爱”、“浮躁”,我是想让批处理自己匹配比较的。
作者: apang 时间: 2013-1-30 16:04
回复 apang
你的批处理中怎么还出现了“将爱”、“浮躁”,我是想让批处理自己匹配比较的。
batsealine 发表于 2013-1-30 15:41
不明白你在说什么。。。
作者: terse 时间: 2013-1-30 16:48
估计楼主想根据TXT文件dir吗- @echo off
- (for /f "delims=" %%i in ('dir /a-d/b *.txt') do (
- if exist "%%~ni\" (
- echo %%~ni:
- (for /f "delims=" %%a in ('dir /a-d/b "%%~ni\"') do (
- echo,%%~na
-
- ))>$
- echo;多:&findstr /ivg:"%%i" $
- echo;缺:&findstr /ivg:$ "%%i"
- echo;
- )
- ))>Result.txt
- del $
- pause
复制代码
作者: BAT-VBS 时间: 2013-1-30 19:56
回复 3# batsealine
请把需求更新到顶楼
作者: batsealine 时间: 2013-1-31 22:30
回复 5# terse
五楼正解,多谢。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |