返回列表 发帖
回复 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 编辑
@echo off
for /f tokens^=1^,3-4delims^=^" %%i in (a.txt) do (
        set "file=%%i%%j"
        setlocal enabledelayedexpansion
        for /f "tokens=4delims=," %%a in ("%%k") do set "fd=%%a"
        set /a fd = 118 + !fd:-=-1-!
        if !fd! GEQ 132 set "fd=0x"
        echo,move "!file!" "!fd:~1!\"
        endlocal
) 2>nul
pauseCOPY

TOP

回复 29# cobat


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

TOP

回复 30# apang


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

TOP

回复 32# hepeisheng


    把第8行的 echo, 删掉

TOP

回复 33# apang


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

TOP

回复 34# hepeisheng


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

TOP

回复 35# apang


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

TOP

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

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

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

TOP

返回列表