1

CMD から特定のファイルの平均行数を計算したいと思います。私が持っている1つのファイルの行数を見つけるには:

findstr /R /N "^" "FILENAME" | find /C ":"

したがって、次のようなものがあります。

setlocal enableddelayedexpansion
合計を 0 に設定
for /l %%x in (1, 1, 10) do (
    set tmpnum = findstr /R /N "^" "file-%%x.csv" | /C ":" を見つける
    set /a sum=sum+tmpnum
)
エコー %sum%/10
エンドローカル

問題は常に 0 であり、正しい値が割り当てられていないsumと思います。tmpnum

4

1 に答える 1

3

行が間違っています。そのset tmpnum =ようなコマンドの出力に変数を設定することはできません。正しい構文は次のとおりです。

for /l %%x in (1, 1, 10) do (
    for /f %%c in ('findstr /R /N "^" "file-%%x.csv" ^| find /C ":"') do (
        set /a sum=sum+%%c
    )
)   

もちろん、echo %sum%/10も計算を行いません。そのためには別SET /Aのものが必要です。

于 2013-09-27T10:13:51.257 に答える