2

Windows XP

私のバッチファイルは、数行の出力を持つコマンドを実行します。ディスクに書き込むことなく、出力行をカウント(および変数に格納)するにはどうすればよいですか?

4

3 に答える 3

3
dir | find /v /c "zzzxxx"

行数を与える

于 2010-01-24T08:34:03.110 に答える
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コマンドで置き換えることができ、引用符を使用してパラメーターを指定できます。ただし、他のいくつかの文字をエスケープする必要があります- ^、、| < >および&

行をカウントするだけでなく、各行を解析する必要がある場合は、トークンの区切り文字を_(例で使用したように)から、行が複数のトークンに分割されない別の値に変更する必要がある場合があります。

于 2010-01-22T17:38:39.133 に答える
0

また、その間に、Windows 用のGNU パッケージ (coreutils)をダウンロードして、wc ツールを使用することもできます。

dir | wc -l
于 2010-01-23T00:06:39.830 に答える