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

[问题求助] [已解决]VBS如何根据歌单判断所缺歌曲并写入id3v1&v2信息?

[复制链接]
发表于 2013-5-6 23:29:04 | 显示全部楼层
啊,惭愧惭愧,考虑不周

这样

If Lcase(Right(objFile.Name, 3)) = "txt" Then
发表于 2013-5-6 23:33:29 | 显示全部楼层
本帖最后由 czjt1234 于 2013-5-6 23:37 编辑
  1. Set objFSO = CreateObject("Scripting.FileSystemObject")
  2. set objWmp = CreateObject("WMPlayer.ocx")

  3. strFolder = CreateObject("Wscript.Shell").CurrentDirectory & ""
  4. strResult = "缺少以下歌曲:" & vbCrLf & vbCrLf

  5. Set objFolders = objFSO.GetFolder(strFolder).SubFolders
  6. For Each objFolder In objFolders                '遍历所有歌手名
  7.     Set objFiles = objFSO.GetFolder(objFolder).Files
  8.     For Each objFile In objFiles                '遍历所有专辑名
  9.         If Lcase(Right(objFile.Name, 3)) = "txt" Then
  10.             Set objTextStream = objFSO.OpenTextFile(objFile.Path, 1, False)
  11.             strLost = ""
  12.             Do Until objTextStream.AtEndOfStream
  13.                 strLine = Trim(objTextStream.ReadLine)
  14.                 If strLine = "" Then Exit Do    '遇到空行就认为文件已结束
  15.                 If objFSO.FileExists(strFolder & strLine & ".mp3") Then
  16.                     Set objMp3File = objWmp.NewMedia(strFolder & strLine & ".mp3")
  17.                     objMp3File.SetItemInfo "author", objFolder.Name
  18.                     objMp3File.SetItemInfo "title", strLine
  19.                     objMp3File.SetItemInfo "WM/AlbumTitle", Left(objFile.Name, Len(objFile.Name) - 4)
  20.                 Else
  21.                     strLost = strLost & Space(8) & strLine & vbCrLf
  22.                 End If
  23.             Loop
  24.             If strLost <> "" Then
  25.                 strResult = strResult & objFolder.Name & vbCrLf & Space(4) & _
  26.                             Left(objFile.Name, Len(objFile.Name) - 4) & vbCrLf & strLost & vbCrLf
  27.             End If
  28.         End If
  29.     Next
  30. Next

  31. objFSO.OpenTextFile("result.txt", 2, True).WriteLine strResult
复制代码
发表于 2013-5-7 14:30:42 | 显示全部楼层
我淡淡一笑。。。。。。
 楼主| 发表于 2013-5-8 14:52:53 | 显示全部楼层
了解了解,最后再次感谢大家
发表于 2013-5-9 14:42:22 | 显示全部楼层
疯狂。。。不过VBS  很容易被杀软提示
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:04 , Processed in 0.014373 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表