2010-01-22 92 views

回答

2

下面是示例腳本,它將對dir命令的輸出中的行進行計數。

@echo off 
setlocal enabledelayedexpansion 

set lc=0 

for /f "usebackq delims=_" %%i in (`dir`) do (
    echo %%i 
    set /a lc=!lc! + 1 
) 

echo %lc% 

endlocal 

您可以用您的命令替換dir,您可以使用引號和指定參數。你將不得不逃脫一些其他字符 - ^,|<>&

如果您不僅需要計算行數,而且還要解析每行,您可能必須將令牌分隔符從_(如示例中所用)更改爲其他不會導致行分割的內容多個令牌。

+1

您可以指定一個空的分隔符列表不要在'='後面加上''delims ='來阻止標記。 – Joey 2010-01-22 18:15:36

+0

你說得對,我忘了那個選項。我有時會想念我的Windows shell編程參考書...... :-) – 2010-01-22 18:20:13

+0

有一個Windows shell編程參考書? :O把它給我! :D ...你也不需要延遲擴展。 'set/a lc + = 1'就可以了。 – Joey 2010-01-22 18:49:57

3
dir | find /v /c "zzzxxx" 

給人行數

相關問題