
[已解決]批處理怎么查詢?nèi)P內(nèi)的mp3文件呢詳情內(nèi)詢最后由 慕夜藍(lán)化 于 -12-27 10:27之前寫的使用dir查詢?nèi)P內(nèi)的文件代碼如下:code1
- @echo off
- set num=0
- set str=c d e f g h i j k l m n o p q r s t u v w x y z
- for %%i in (%str%) do (
- if exist %%i: for /f delims= %%a in ('dir /s/b/l/aa-s-h-r/on %%i:*mp3') do (
- set /a num=num+1
- )
- )
- echo 全盤mp3總數(shù)量為:%num%
- pause
nclick="copycode($('code0'));">復(fù)制代碼
>_< 可是這個(gè)真的很慢 .然后就想 因?yàn)?for /r 比較快嘛那就用for /r 來代替dir吧于是:code2
- @echo off
- set n=0
- set dri=c d e f g h i j k l m n o p q r s t u v w x y z
- for %%i in (%dri%) do (
- if exist %%i: for /r %%i: %%a in (*mp3) do (
- set /a n=n+1
- )
- )
- echo全盤mp3總數(shù)量為:%n%
- pause
nclick="copycode($('code1'));">復(fù)制代碼
= =窗口一閃就沒了。。。然后改:code3
- @echo off
- setlocal enabledelayedexpansion
- set n=0
- set dri=c d e f g h i j k l m n o p q r s t u v w x y z
- for %%i in (%dri%) do (
- set sri=%%i:
- if exist !sri! for /r !sri! %%a in (*mp3) do (
- set /a n=n+1
- echo %%~xa
- )
- )
- echo !n!
- pause
nclick="copycode($('code2'));">復(fù)制代碼
echo %%~xa 檢驗(yàn)是否通過、 還是不行啊 .然后就找問題,組合代碼的都分開來,用echo 來顯示是否通過。最后發(fā)現(xiàn)問題 出在了 for /r 那里便截取for /r 那段代碼單獨(dú)實(shí)驗(yàn) = =可以用啊。。。加上變量也能用啊
- @echo off
- set n=0
- set dri=d:
- for /r %dri% %%i in (*mp3) do set /a n+=1
- echo %n%
- pause
nclick="copycode($('code3'));">復(fù)制代碼
。。。到這時(shí)候 已經(jīng)考慮到了 是不是 for /r 后面的 !sri! 出了問題然后 干脆拿掉 !sri! 好了= =最起碼找到了問題最后 又把 !sri! 替換為指定的盤符。結(jié)果也如實(shí)根據(jù)卷的多少以及當(dāng)前卷下文件的數(shù)量顯示了相應(yīng)的數(shù)字?,F(xiàn)在只想快些知道,到底哪里出現(xiàn)了問題,為什么for /r 后面的變量沒有被引用?應(yīng)該怎么改呢?還有第二段代碼又出現(xiàn)了什么問題?求解!拜托了。