[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理检测压缩包是否有遗漏文件或者重复

本帖最后由 netdzb 于 2024-5-17 18:09 编辑

#EXTM3U8
E:\音乐\其他音乐\90后经典流行歌曲\5566-我难过.mp3
E:\音乐\其他音乐\90后经典流行歌曲\ai.mini-遇.mp3
E:\音乐\其他音乐\90后经典流行歌曲\Atlus - 活埋.mp3
E:\音乐\其他音乐\90后经典流行歌曲\Beyond - 光辉岁月.mp3
E:\音乐\其他音乐\90后经典流行歌曲\Beyond - 真的爱你.mp3
E:\音乐\其他音乐\90后经典流行歌曲\BoBo-光荣.mp3
E:\音乐\其他音乐\90后经典流行歌曲\BoBo-恋爱新手.mp3
E:\音乐\其他音乐\90后经典流行歌曲\By2 - 爱的双重魔力.mp3
E:\音乐\其他音乐\90后经典流行歌曲\By2 - 爱丫爱丫.mp3
E:\音乐\其他音乐\90后经典流行歌曲\By2 - 发呆.mp3
E:\音乐\其他音乐\90后经典流行歌曲\By2 - 我知道.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F.I.R. - Lydia.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F.I.R. - 你的微笑.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F.I.R. - 千年之恋.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F.I.R. - 三个心愿.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F.I.R. - 我们的爱.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F.I.R. - 月牙湾.mp3
E:\音乐\其他音乐\90后经典流行歌曲\F4 - 流星雨.mp3
E:\音乐\其他音乐\90后经典流行歌曲\JS-杀破狼-《仙剑奇侠传》电视剧片头曲.mp3
E:\音乐\其他音乐\90后经典流行歌曲\M3 - 爱你(原唱:王心凌).mp3
E:\音乐\其他音乐\90后经典流行歌曲\QQ爱 - 王麟.mp3
E:\音乐\其他音乐\90后经典流行歌曲\S.H.E-Super Star-《独自等待》电影插曲.mp3
E:\音乐\其他音乐\90后经典流行歌曲\S.H.E-安静了.mp3
E:\音乐\其他音乐\90后经典流行歌曲\S.H.E-半糖主义.mp3
E:\音乐\其他音乐\90后经典流行歌曲\S.H.E-波斯猫.mp3

文件清单就是上面的m3u8,我是手工压缩了32个压缩包,我想写个脚本来经检测我的压缩包是否会有重复或者遗漏的文件,
这个代码应该如何写,效率最高啊?
文件盘符的E盘我这里是H盘,是否可以根据相对路径来进行识别啊?

回复 1# netdzb


什么格式的压缩包?
你电脑上安装了哪个解压缩软件呢,7-Zip还是WinRAR?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 netdzb 于 2024-5-17 18:09 编辑

回复 2# Batcher




    我电脑装的7z和360压缩,压缩包我是用360压缩的zip格式。

TOP

回复 2# Batcher


    我想可以做成不用全部检测吗?原来的m3u8存个副本,假设测试程序是test,
执行test 压缩包001.zip,副本的歌名后面会标ok,表示这个文件是在压缩包存在的。

TOP

压缩包名和mp3文件名不一致吗?需要不解压查看压缩包内的mp3文件名,然后对比?
bat小白,请多指教!谢谢!

TOP

回复 5# 77七

压缩包里面的文件名就是m3u8上的,现在是要检测压缩包里面有无遗漏或者重复的文件名

TOP

本帖最后由 77七 于 2024-5-17 23:37 编辑

回复 6# netdzb


  1. @echo off
  2. for /f "delims=" %%a in ('dir /b /s /a-d "d:\*.zip"') do (
  3. for /f "tokens=5*" %%i in ('7z l "%%a" ^|findstr /reic:"\.mp3"') do (
  4. if not defined #"%%~nxj" (
  5. set #"%%~nxj"=1
  6. ) else (
  7. echo 重复 [%%~nxj] 来自压缩包 [%%a]
  8. )
  9. )
  10. )
  11. for /f "useback delims=" %%i in ("d:\#EXTM3U8") do (
  12. if not defined #"%%~nxi" (
  13. echo 遗漏 [%%~nxi]
  14. )
  15. )
  16. pause
复制代码
bat小白,请多指教!谢谢!

TOP

返回列表