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

[文件操作] [已解决]批处理怎样根据文本条件移动mp3文件进指定文件夹?

求根据txt文本条件移动mp3文件进指定文件夹

某一文件夹内有32个文件夹,分别名为
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
x

有很多mp3文件

一个txt文件,

txt文件有如下格式内容:


"E:\新建文件夹\","把月光射下来_蔡琴.mp3",#2015-03-10 12:23:15#,3946315,35604.852,-5.14,"?"
"E:\新建文件夹\","白发吟_蔡琴.mp3",#2015-03-10 12:23:16#,3372739,29546.93,-4.95,"?"
"E:\新建文件夹\","被遗忘的时光_蔡琴.mp3",#2015-03-10 12:23:17#,2833468,34875.115,-6.39,"?"
"E:\新建文件夹\","不了情_蔡琴.mp3",#2015-03-10 12:23:18#,3387816,40881.699,-7.35,"?"
"E:\新建文件夹\","菜根谭_蔡琴.mp3",#2015-03-10 12:23:19#,3475548,43633.451,-4.48,"?"
"E:\新建文件夹\","痴痴的等_蔡琴.mp3",#2015-03-10 12:23:20#,5178830,32198.73,-4.62,"?"
"E:\新建文件夹\","痴情泪_蔡琴.mp3",#2015-03-10 12:23:21#,3285711,37996.973,-8.51,"?"
"E:\新建文件夹\","出塞曲_蔡琴.mp3",#2015-03-10 12:23:22#,3139792,35126.996,-8.52,"?"
"E:\新建文件夹\","初恋_蔡琴.mp3",#2015-03-10 12:23:23#,2834162,32831.009,-5.51,"?"
"E:\新建文件夹\","春风吻上了我的脸_蔡琴.mp3",#2015-03-10 12:23:24#,3508116,32096.669,-3.71,"?"
"E:\新建文件夹\","得不到得爱_蔡琴.mp3",#2015-03-10 12:23:25#,2767081,38006.541,-9.08,"?"
"E:\新建文件夹\","点亮霓虹灯_蔡琴.mp3",#2015-03-10 12:23:26#,4201832,33905.633,-4.34,"?"
"E:\新建文件夹\","蝶衣_蔡琴.mp3",#2015-03-10 12:23:27#,4565494,35003.801,-2.37,"?"
"E:\新建文件夹\","读你_蔡琴.mp3",#2015-03-10 12:23:29#,4324363,32456.526,-3.58,"?"
"E:\新建文件夹\","渡口_蔡琴.mp3",#2015-03-10 12:23:30#,3836748,41905.255,-5.69,"?"
"E:\新建文件夹\","阁楼_蔡琴.mp3",#2015-03-10 12:23:31#,3368865,32076.937,-2.12,"?"
"E:\新建文件夹\","海上花_蔡琴.mp3",#2015-03-10 12:23:32#,3663480,30814.199,-5.39,"?"
"E:\新建文件夹\","海上良宵_蔡琴.mp3",#2015-03-10 12:23:33#,2888773,38346.176,-3.79,"?"
"E:\新建文件夹\","河上的月色_蔡琴.mp3",#2015-03-10 12:23:34#,3340126,30349.67,-3.88,"?"
"E:\新建文件夹\","红蔷薇_蔡琴.mp3",#2015-03-10 12:23:35#,3381652,33462.431,-5.81,"?"
"E:\新建文件夹\","忽然想起你_蔡琴.mp3",#2015-03-10 12:23:36#,4282595,29781.342,-2.85,"?"
"E:\新建文件夹\","花针引线线穿针_蔡琴.mp3",#2015-03-10 12:23:37#,4347812,38702.242,-7.99,"?"
"E:\新建文件夹\","怀念_蔡琴.mp3",#2015-03-10 12:23:38#,4065192,39357.077,-3.26,"?"
"E:\新建文件夹\","魂萦旧梦_蔡琴.mp3",#2015-03-10 12:23:39#,3167827,32465.805,-5.32,"?"
"E:\新建文件夹\","假如我是真的_蔡琴.mp3",#2015-03-10 12:23:40#,3390147,31265.484,-4.79,"?"
"E:\新建文件夹\","落花流水_蔡琴.mp3",#2015-03-10 12:23:41#,2814125,33925.6,-3.96,"?"
"E:\新建文件夹\","绿岛小夜曲_蔡琴.mp3",#2015-03-10 12:23:42#,3500312,34784.732,-5.87,"?"
"E:\新建文件夹\","梦里相思_蔡琴.mp3",#2015-03-10 12:23:43#,2607046,27047.468,-.,"?"
"E:\新建文件夹\","梦中人_蔡琴.mp3",#2015-03-10 12:23:44#,3592511,37250.376,.,"?"
"E:\新建文件夹\","明日之歌_蔡琴.mp3",#2015-03-10 12:23:45#,4113141,33175.48,13.43,"?"
"E:\新建文件夹\","南屏晚钟_蔡琴.mp3",#2015-03-10 12:23:46#,2728010,37255.082,13.1,"?"
"E:\新建文件夹\","青青湖畔_蔡琴.mp3",#2015-03-10 12:23:47#,3278322,41654.894,4.56,,"?"
"E:\新建文件夹\","情人山_蔡琴.mp3",#2015-03-10 12:23:48#,3042547,28301.696,4.62"?"
"E:\新建文件夹\","情是什么_蔡琴.mp3",#2015-03-10 12:23:49#,4678321,35730.411,5.79,"?"
"E:\新建文件夹\","三年_蔡琴.mp3",#2015-03-10 12:23:50#,3902569,34626.833,6.24,"?"
"E:\新建文件夹\","张三的歌_蔡琴.mp3",#2015-03-10 12:23:52#,5316877,38859.095,7.89,"?"



文本说明
"E:\新建文件夹\","把月光射下来_蔡琴.mp3",#2015-03-10 12:23:15#,3946315,35604.852,-5.14,"?"
"E:\新建文件夹\","意为mp3所在位置
把月光射下来_蔡琴.mp3意为mp3的名字
#2015-03-10 12:23:15#扫描日期,可不考虑
3946315,35604.852意为该mp3文件的体积,可不考虑
,-5.14,意为该mp3的音量大小




现要求在此文件夹下双击bat,读取此文件夹下的1个mp3文件的名字,再在txt文本内找到这1个mp3文件的名字的这一行,找到音量值

如果这首mp3音量为,-16就把文件夹里的这首mp3移动进名为01的文件夹
如果这首mp3音量为,-15就把文件夹里的这首mp3移动进名为02的文件夹
如果这首mp3音量为,-14就把文件夹里的这首mp3移动进名为03的文件夹
如果这首mp3音量为,-13就把文件夹里的这首mp3移动进名为04的文件夹
如果这首mp3音量为,-12就把文件夹里的这首mp3移动进名为05的文件夹
如果这首mp3音量为,-11就把文件夹里的这首mp3移动进名为06的文件夹
如果这首mp3音量为,-10就把文件夹里的这首mp3移动进名为07的文件夹
如果这首mp3音量为,-9.就把文件夹里的这首mp3移动进名为08的文件夹
如果这首mp3音量为,-8.就把文件夹里的这首mp3移动进名为09的文件夹
如果这首mp3音量为,-7.就把文件夹里的这首mp3移动进名为10的文件夹
如果这首mp3音量为,-6.就把文件夹里的这首mp3移动进名为11的文件夹
如果这首mp3音量为,-5.就把文件夹里的这首mp3移动进名为12的文件夹
如果这首mp3音量为,-4.就把文件夹里的这首mp3移动进名为13的文件夹
如果这首mp3音量为,-3.就把文件夹里的这首mp3移动进名为14的文件夹
如果这首mp3音量为,-2.就把文件夹里的这首mp3移动进名为15的文件夹
如果这首mp3音量为,-1.就把文件夹里的这首mp3移动进名为16的文件夹

如果这首mp3音量为,-.就把文件夹里的这首mp3移动进名为17的文件夹
如果这首mp3音量为,0,就把文件夹里的这首mp3移动进名为17的文件夹

如果这首mp3音量为,.就把文件夹里的这首mp3移动进名为18的文件夹

如果这首mp3音量为,1.就把文件夹里的这首mp3移动进名为19的文件夹
如果这首mp3音量为,2.就把文件夹里的这首mp3移动进名为20的文件夹
如果这首mp3音量为,3.就把文件夹里的这首mp3移动进名为21的文件夹
如果这首mp3音量为,4.就把文件夹里的这首mp3移动进名为22的文件夹
如果这首mp3音量为,5.就把文件夹里的这首mp3移动进名为23的文件夹
如果这首mp3音量为,6.就把文件夹里的这首mp3移动进名为24的文件夹
如果这首mp3音量为,7.就把文件夹里的这首mp3移动进名为25的文件夹
如果这首mp3音量为,8.就把文件夹里的这首mp3移动进名为26的文件夹
如果这首mp3音量为,9.就把文件夹里的这首mp3移动进名为27的文件夹
如果这首mp3音量为,10.就把文件夹里的这首mp3移动进名为28的文件夹
如果这首mp3音量为,11.就把文件夹里的这首mp3移动进名为29的文件夹
如果这首mp3音量为,12.就把文件夹里的这首mp3移动进名为30的文件夹
如果这首mp3音量为,13.就把文件夹里的这首mp3移动进名为31的文件夹

如果找不到以上指音量字符就把它移进名为x的文件夹

这音量字符条件足够多了,这所谓"找不到音量字符"是针对音量更低的值如
,14.
,15.
,16.
,17.
类推,这些,13.外的值,还未有见过,有也没有利用价值,因为音量太低了,故把它们丢入x文件夹


音量,-16是技术规定的最大值,不会更大,-17 , -18是不会出现的



我读书少,自已不会做bat,只能求助各位高人了,谢谢!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

if !fd! GEQ 132 set "fd=0x"

把这行的13改更大的数能移动音量值更低的mp3文件,要增加对应的文件夹,我试过是可行的,如改为

        if !fd! GEQ 202 set "fd=0x"

TOP

回复 35# apang


    这个可以用了,2秒移动完1000首歌,很流畅的样子,检查过全部正确,谢谢你!

TOP

回复 34# hepeisheng


    我这里测试没有问题
  1. @echo off
  2. for /f tokens^=3-4delims^=^" %%i in (a.txt) do (
  3.         set "file=%%i"
  4.         setlocal enabledelayedexpansion
  5.         for /f "tokens=4delims=," %%a in ("%%j") do set "fd=%%a"
  6.         set /a fd = 118 + !fd:-=-1-! 2>nul
  7.         if !fd! GEQ 132 set "fd=0x"
  8.         move "!file!" "!fd:~1!\"
  9.         endlocal
  10. )
  11. pause
复制代码

TOP

回复 33# apang


    只显示请按任意键继续,不干活

TOP

回复 32# hepeisheng


    把第8行的 echo, 删掉

TOP

回复 30# apang


    显示读遍了全部mp3文件,但未能移动一个文件,多谢

TOP

回复 29# cobat


    那我就安心改了,完美了,谢谢指教

TOP

本帖最后由 apang 于 2015-3-11 22:25 编辑
  1. @echo off
  2. for /f tokens^=1^,3-4delims^=^" %%i in (a.txt) do (
  3.         set "file=%%i%%j"
  4.         setlocal enabledelayedexpansion
  5.         for /f "tokens=4delims=," %%a in ("%%k") do set "fd=%%a"
  6.         set /a fd = 118 + !fd:-=-1-!
  7.         if !fd! GEQ 132 set "fd=0x"
  8.         echo,move "!file!" "!fd:~1!\"
  9.         endlocal
  10. ) 2>nul
  11. pause
复制代码

TOP

回复 19# cobat


   
要移动更低音量的mp3,是把这行的"13"字符加大,和增加对应的文件夹吗?我试过是可行的,


            if %%d geq -16 if %%d leq 13 (
改为
            if %%d geq -16 if %%d leq 20 (

TOP

回复 25# pcl_test


    明白,我也有这学修改的想法,谢谢!

TOP

回复 24# hepeisheng
是这样的,授人以鱼不如授人以渔,我编的代码除了能实现效果,还考虑给想学批处理的小白们作为参考,所以把代码尽量写的显浅且容易修改,如你要增减或修改对应的文件,只要在代码中if语句做相应增减或修改即可

TOP

回复 9# pcl_test





    能用,但更爱2楼的,好快,可能是没有显示执行过程,谢谢你!

TOP

回复 11# cobat

if与for可以else,要不明显很多重复执行了,虽然用2>nul屏蔽了回显。
初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

音量,-16是技术规定的最大值,不会更大,-17 , -18是不会出现的

TOP

返回列表