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


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

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


你的代码执行效率很高,赞,再次感谢!

TOP

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

TOP

回复 11# cobat

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

TOP

回复 9# pcl_test





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

TOP

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

TOP

回复 25# pcl_test


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

TOP

回复 19# cobat


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


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

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

回复 29# cobat


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

TOP

回复 30# apang


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

TOP

回复 32# hepeisheng


    把第8行的 echo, 删掉

TOP

回复 33# apang


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

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

回复 35# apang


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

TOP

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

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

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

TOP

返回列表