2010-09-28 39 views
0

我試圖僅在一行中查找目錄中的文件數(* .rar)。目錄中的文件數

這樣做我使用的命令:

for /f "delims=" %i in ('find /c ".rar" "D:\backup e ckpdb ept-icd\test\unload\lista_files_rar.txt"') do echo %i 

,但我我在年底的百分比值:d:\ BACKUPêCKPDB EPT-ICD \ TEST \ UNLOAD \ LISTA_FILES_RAR.TXT:8

我想獲得只有數字8,而不是回聲的價值,我會分配值的變量。

我使用命令行:dir/b * .rar | find/c「.rar」 它返回目錄中rar文件的值,但我不能將值賦給變量,例如:dir/b * .rar | find/c「.rar」|集/ A文件=

我還試圖用關鍵字令牌= 2,但它不工作

PS。如果有可能只能用find命令做的也比較好

回答

1

here例如在計算文件

或者你可以簡單地做這樣的事情(n OT試驗)

for /F %%j in ('dir /B *.rar ^| find /C /V ""') do set count=%%j 
0

這將返回只是數字;有可能是做一個更清潔的方式,但unfortuantly「發現」不能把它從管道輸入(即,我不能做dir | find):

@echo off 
dir /b *.rar> out.tmp 
for /f "usebackq tokens=3" %%i in (`find /c "rar" out.tmp`) do echo %%i 
del out.tmp 
0

嘗試「delims =:令牌= 3 「

你通常會在結果兩個冒號,一個驅動器號後,一個你想要的號碼之前,所以你的電話號碼應該是令牌3

0

謝謝你,我想我會用

FOR/F %%的J('DIR/B * .rar程序^ |查找/ C/V「」「)並設定計數= %%Ĵ

user135127

這樣,我想如果也以somethink迪爾的名字的結果應該總是保持相同。

這是區別:

dir/B * .rar^|^find/C/V「」和

dir/B * .rar^| find/C「.rar」?

0
for /f %a in ('dir "*.txt" ^| find "File(s)"') do set Count=%a 

給人

set Count=36 

,或者您可以使用算術集和延遲的環境變量擴展

set count=0 
for %a in (*.txt) do @set /a Count=!Count!+ 1 > nul 
echo %count% 

Count=36 
相關問題