Board logo

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

作者: hepeisheng    时间: 2015-3-10 13:32     标题: [已解决]批处理怎样根据文本条件移动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,只能求助各位高人了,谢谢!
作者: cobat    时间: 2015-3-10 15:20

本帖最后由 cobat 于 2015-3-11 12:55 编辑
  1. @echo off
  2. (for /f tokens^=3^,4delims^=^" %%a in (a.txt) do (
  3.     set i=%%a
  4.     setlocal enabledelayedexpansion
  5.     for /f "tokens=4 delims=," %%c in ("%%b") do (
  6.         set j=%%c
  7.         if "!j:~,2!" equ "-." move "!i!" 17
  8.         if "!j:~,1!" equ "." move "!i!" 18
  9.         for /f "delims=." %%d in ("%%c") do (
  10.             if %%d geq -16 if %%d leq 13 (
  11.                 if %%d leq 0 (
  12.                     set/a n=%%d+17
  13.                 ) else set/a n=%%d+18
  14.                 set n=0!n!&set n=!n:~-2!
  15.                 move "!i!" !n!
  16.             ) else move "!i!" x
  17.         )
  18.     )
  19.     endlocal
  20. ))>nul 2>nul
  21. pause
复制代码

作者: pcl_test    时间: 2015-3-10 15:39

回复 1# hepeisheng
  1. @echo off
  2. for /f "tokens=2 delims=," %%a in ('findstr /r /c:",-.," "信息.txt"') do move %%a "17\"
  3. for /f "tokens=2 delims=," %%b in ('findstr /r /c:",.," "信息.txt"') do move %%b "18\"
  4. for /f "tokens=2 delims=," %%c in ('findstr /r /c:",," "信息.txt"') do move %%c "x\"
  5. for %%a in (*.mp3) do (
  6. findstr /r /c:"%%~na" "信息.txt" || move "%%a" "x\"
  7. for /f "tokens=6 delims=," %%d in ('findstr /r /c:"%%~na" "信息.txt"') do (
  8. for /f "tokens=1* delims=." %%i in ("%%d") do (
  9. if %%i == -16 move "%%a" "01\"
  10. if %%i == -15 move "%%a" "02\"
  11. if %%i == -14 move "%%a" "03\"
  12. if %%i == -13 move "%%a" "04\"
  13. if %%i == -12 move "%%a" "05\"
  14. if %%i == -11 move "%%a" "06\"
  15. if %%i == -10 move "%%a" "07\"
  16. if %%i == -9 move "%%a" "08\"
  17. if %%i == -8 move "%%a" "09\"
  18. if %%i == -7 move "%%a" "10\"
  19. if %%i == -6 move "%%a" "11\"
  20. if %%i == -5 move "%%a" "12\"
  21. if %%i == -4 move "%%a" "13\"
  22. if %%i == -3 move "%%a" "14\"
  23. if %%i == -2 move "%%a" "15\"
  24. if %%i == -1 move "%%a" "16\"
  25. if %%i == 0 move "%%a" "17\"
  26. if %%i == 1 move "%%a" "18\"
  27. if %%i == 2 move "%%a" "19\"
  28. if %%i == 3 move "%%a" "20\"
  29. if %%i == 4 move "%%a" "21\"
  30. if %%i == 5 move "%%a" "21\"
  31. if %%i == 6 move "%%a" "23\"
  32. if %%i == 7 move "%%a" "24\"
  33. if %%i == 8 move "%%a" "25\"
  34. if %%i == 9 move "%%a" "26\"
  35. if %%i == 10 move "%%a" "27\"
  36. if %%i == 11 move "%%a" "28\"
  37. if %%i == 12 move "%%a" "29\"
  38. if %%i == 13 move "%%a" "30\"
  39. )
  40. )
  41. )
  42. pause
复制代码

作者: hepeisheng    时间: 2015-3-10 16:16

3楼pcl_test 网友提供的代码一次取得成功,十分感谢,体现了知识就是生产力,二楼可能理解错了,点击没有反应,但同感谢为之付出了努力
作者: hepeisheng    时间: 2015-3-10 16:17

3楼pcl_test 网友提供的代码一次取得成功,十分感谢,体现了知识就是生产力,二楼可能理解错了,点击没有反应,但同感谢为之付出了努力
作者: hepeisheng    时间: 2015-3-10 18:24

发现如果mp3文件的名字有逗号就不移动,

和音量为,-.与,.就不移动,

如下列表是未能移动的,请帮忙解决,谢谢!


"D:\My music\","变,变,变_陈慧娴.mp3",#2015-03-10 17:52:15#,3715976,46701.412,-8.95,"?"
"D:\My music\","缘了,就是完_陈慧娴.mp3",#2015-03-10 18:08:10#,5216660,36685.873,-5.11,"?"
"D:\My music\","多一分钟,少一分钟_周华健.mp3",#2015-03-10 17:55:53#,4111354,36102.144,-5.63,"?"

"D:\My music\","ANNA_周启生.mp3",#2015-03-10 17:50:03#,4342315,31921.799,-.38,"?"
"D:\My music\","阿郎恋曲_许冠杰.mp3",#2015-03-10 17:50:34#,5756572,25913.721,.63,"?"
"D:\My music\","春风秋雨_张学友.mp3",#2015-03-10 17:54:01#,4594551,31540.445,-.79,"?"
"D:\My music\","道道道_张学友.mp3",#2015-03-10 17:54:50#,3185531,30298.964,-.57,"?"
"D:\My music\","等玉人_许冠杰.mp3",#2015-03-10 17:55:01#,2691003,24487.854,-.96,"?"
"D:\My music\","风中赶路人_许冠杰.mp3",#2015-03-10 17:56:21#,3774982,34332.508,-.77,"?"
"D:\My music\","欢场_张学友.mp3",#2015-03-10 17:58:34#,4502997,31943.557,-.73,"?"
"D:\My music\","家乡_韩红.mp3",#2015-03-10 17:59:15#,4174859,32212.451,-.94,"?"
"D:\My music\","街头霸王榜_林子祥.mp3",#2015-03-10 17:59:32#,14383201,27996.75,.44,"?"
"D:\My music\","金瓶似的小山_腾格尔.mp3",#2015-03-10 17:59:43#,3760804,32982.041,.03,"?"
"D:\My music\","浪子心声_许冠杰.mp3",#2015-03-10 18:00:38#,3055109,29308.846,-.97,"?"
"D:\My music\","自制空间_林忆莲.mp3",#2015-03-10 18:08:45#,4351496,23902.88,-.35,"?"
"D:\My music\","最佳男主角_林忆莲.mp3",#2015-03-10 18:08:49#,3876373,28023.095,-.05,"?"
作者: xxpinqz    时间: 2015-3-10 19:35

本帖最后由 xxpinqz 于 2015-3-11 12:34 编辑
  1. @echo off
  2. for /f tokens^=3^,4^delims^=^" %%a in (a.txt) do (
  3.     set "str=%%a"
  4.     setlocal enabledelayedexpansion
  5.     for /f "tokens=4 delims=," %%c in ("%%b") do (
  6.         if not "%%c"=="." (
  7.          if not "%%c"=="-." (
  8.                       set/a n=17+%%c
  9.                       if !n! equ 17 if %%c neq 0 set n=x
  10.                 ) else set n=17
  11.         ) else set n=18
  12.         move "!str!" "!n!\"&endlocal
  13.     )
  14. )2>nul
复制代码

作者: pcl_test    时间: 2015-3-10 19:51

回复 7# hepeisheng
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=2 delims=," %%a in ('findstr /r /c:",-.," "信息.txt"') do move %%a "17\"
  4. for /f "tokens=2 delims=," %%b in ('findstr /r /c:",.," "信息.txt"') do move %%b "18\"
  5. for /f "tokens=2 delims=," %%c in ('findstr /r /c:",," "信息.txt"') do move %%c "x\"
  6. for %%a in (*.mp3) do (
  7. findstr /r /c:"%%~na" "信息.txt" || move "%%a" "x\"
  8. for /f "tokens=2* delims=#" %%d in ('findstr /r /c:"%%~na" "信息.txt"') do (
  9. for /f "tokens=3 delims=," %%i in ("%%e") do (
  10. set "str=%%i"
  11. if "!str:~,2!" == "-." move "%%a" "17\"
  12. if "!str:~,1!" == "." move "%%a" "18\"
  13. for /f "tokens=1* delims=." %%j in ("!str!") do (
  14. if %%j == -16 move "%%a" "01\"
  15. if %%j == -15 move "%%a" "02\"
  16. if %%j == -14 move "%%a" "03\"
  17. if %%j == -13 move "%%a" "04\"
  18. if %%j == -12 move "%%a" "05\"
  19. if %%j == -11 move "%%a" "06\"
  20. if %%j == -10 move "%%a" "07\"
  21. if %%j == -9 move "%%a" "08\"
  22. if %%j == -8 move "%%a" "09\"
  23. if %%j == -7 move "%%a" "10\"
  24. if %%j == -6 move "%%a" "11\"
  25. if %%j == -5 move "%%a" "12\"
  26. if %%j == -4 move "%%a" "13\"
  27. if %%j == -3 move "%%a" "14\"
  28. if %%j == -2 move "%%a" "15\"
  29. if %%j == -1 move "%%a" "16\"
  30. if %%j == 0 move "%%a" "17\"
  31. if %%j == 1 move "%%a" "18\"
  32. if %%j == 2 move "%%a" "19\"
  33. if %%j == 3 move "%%a" "20\"
  34. if %%j == 4 move "%%a" "21\"
  35. if %%j == 5 move "%%a" "21\"
  36. if %%j == 6 move "%%a" "23\"
  37. if %%j == 7 move "%%a" "24\"
  38. if %%j == 8 move "%%a" "25\"
  39. if %%j == 9 move "%%a" "26\"
  40. if %%j == 10 move "%%a" "27\"
  41. if %%j == 11 move "%%a" "28\"
  42. if %%j == 12 move "%%a" "29\"
  43. if %%j == 13 move "%%a" "30\"
  44. )
  45. )
  46. )
  47. )
  48. pause
复制代码

作者: hepeisheng    时间: 2015-3-10 21:14

二楼代码执行飞快有效,现有如下问题,如下音量文件都跑到x文件夹了,正确的应该音量为,-.要进17文件夹;音量为,.要进18文件夹

"D:\My music\x\","ANNA_周启生.mp3",#2015-03-10 17:50:03#,4342315,31921.799,-.38,"?"
"D:\My music\x\","阿郎恋曲_许冠杰.mp3",#2015-03-10 17:50:34#,5756572,25913.721,.63,"?"
"D:\My music\x\","春风秋雨_张学友.mp3",#2015-03-10 17:54:01#,4594551,31540.445,-.79,"?"
"D:\My music\x\","道道道_张学友.mp3",#2015-03-10 17:54:50#,3185531,30298.964,-.57,"?"
"D:\My music\x\","等玉人_许冠杰.mp3",#2015-03-10 17:55:01#,2691003,24487.854,-.96,"?"
"D:\My music\x\","风中赶路人_许冠杰.mp3",#2015-03-10 17:56:21#,3774982,34332.508,-.77,"?"
"D:\My music\x\","欢场_张学友.mp3",#2015-03-10 17:58:34#,4502997,31943.557,-.73,"?"
"D:\My music\x\","家乡_韩红.mp3",#2015-03-10 17:59:15#,4174859,32212.451,-.94,"?"
"D:\My music\x\","街头霸王榜_林子祥.mp3",#2015-03-10 17:59:32#,14383201,27996.75,.44,"?"
"D:\My music\x\","金瓶似的小山_腾格尔.mp3",#2015-03-10 17:59:43#,3760804,32982.041,.03,"?"
"D:\My music\x\","浪子心声_许冠杰.mp3",#2015-03-10 18:00:38#,3055109,29308.846,-.97,"?"
"D:\My music\x\","自制空间_林忆莲.mp3",#2015-03-10 18:08:45#,4351496,23902.88,-.35,"?"
"D:\My music\x\","最佳男主角_林忆莲.mp3",#2015-03-10 18:08:49#,3876373,28023.095,-.05,"?"

另有2个名字有!号不移动

"D:\My music\","Cry!_张学友.mp3",#2015-03-10 17:50:07#,5103882,35697.492,-8.28,"?"
"D:\My music\","OH!夜_黎明.mp3",#2015-03-10 17:50:23#,4384084,38135.759,-6.54,"?"
作者: hepeisheng    时间: 2015-3-10 21:24

8楼 xxpinqz 同学提供的代码未能移动同样感谢!
作者: cobat    时间: 2015-3-10 21:49

回复 12# hepeisheng


   又改了,你再试试.
作者: hepeisheng    时间: 2015-3-10 22:57

本帖最后由 hepeisheng 于 2015-3-10 23:18 编辑
回复  hepeisheng


   又改了,你再试试.
cobat 发表于 2015-3-10 21:49



代码执行很快,2秒移动完1000首歌很是喜欢,


我发现你对的,我给的条件错了,要时间改改
作者: hepeisheng    时间: 2015-3-10 23:18

回复 14# cobat




    我发现你对的,我给的条件错了,要时间改改
作者: hepeisheng    时间: 2015-3-11 00:09

回复 16# cobat


    我发现你是正确的,是我给的条件错了,现改为如下,主要是进18文件夹由双或选变为单选,18文件夹后的文件夹号都大了1个数值


原部分

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

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



修改为

如果这首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的文件夹




很期待,眼看要完美了,谢谢,以前要选1小时现只要2秒,效率提高1800倍
作者: cobat    时间: 2015-3-11 11:15

回复 18# hepeisheng


    可以了,最好把"找不到音量字符"举几个例子
作者: hepeisheng    时间: 2015-3-11 11:59

回复 19# cobat


    100%正确,分别移动1000首歌不到2秒,目前未发现问题,

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


你的代码执行效率很高,赞,再次感谢!
作者: hepeisheng    时间: 2015-3-11 12:20

音量,-16是技术规定的最大值,不会更大,-17 , -18是不会出现的
作者: xxpinqz    时间: 2015-3-11 12:38

回复 11# cobat

if与for可以else,要不明显很多重复执行了,虽然用2>nul屏蔽了回显。
作者: hepeisheng    时间: 2015-3-11 13:53

回复 9# pcl_test





    能用,但更爱2楼的,好快,可能是没有显示执行过程,谢谢你!
作者: pcl_test    时间: 2015-3-11 15:23

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

回复 25# pcl_test


    明白,我也有这学修改的想法,谢谢!
作者: hepeisheng    时间: 2015-3-11 16:13

回复 19# cobat


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


            if %%d geq -16 if %%d leq 13 (
改为
            if %%d geq -16 if %%d leq 20 (
作者: apang    时间: 2015-3-11 18:58

本帖最后由 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
复制代码

作者: hepeisheng    时间: 2015-3-11 19:37

回复 29# cobat


    那我就安心改了,完美了,谢谢指教
作者: hepeisheng    时间: 2015-3-11 19:40

回复 30# apang


    显示读遍了全部mp3文件,但未能移动一个文件,多谢
作者: apang    时间: 2015-3-12 11:42

回复 32# hepeisheng


    把第8行的 echo, 删掉
作者: hepeisheng    时间: 2015-3-12 11:55

回复 33# apang


    只显示请按任意键继续,不干活
作者: apang    时间: 2015-3-12 13:30

回复 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
复制代码

作者: hepeisheng    时间: 2015-3-12 13:41

回复 35# apang


    这个可以用了,2秒移动完1000首歌,很流畅的样子,检查过全部正确,谢谢你!
作者: hepeisheng    时间: 2015-3-12 14:40

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

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

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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2