重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

netstat -eで表示される、ReceivedとSentのBytesを取得したいと考えております。


for文で取得を試みたのですが、「|の使い方が誤っています」というエラーが表示され取得できません。
for /f "tokens=2" %i in ('netstat -e | findstr /C:Bytes') do set Rec=%i
for /f "tokens=3" %i in ('netstat -e | findstr /C:Bytes') do set Sen=%i

for文にこだわりはございません。
最終的には単位時間あたりの受信と送信のデータ量を取得したいと考えております。
取得方法をご教授頂けないでしょうか?


大変恐縮ですが、何卒宜しくお願い致します。

A 回答 (1件)

たしかにパイプ処理が間違っています。



ただ単に表示するだけでいいのであれば
netstat -e | find "Bytes"
でいいのでは?。
日本語環境の場合は
netstat -e | find "バイト"
---
temp-netstst.txtファイルに書き出す場合は
netstat -e | find "Bytes" > temp-netstat.txt

追加書きする場合は
netstat -e | find "Bytes" >> temp-netstat.txt
---
for /f はファイルの複数のデータを処理する場合に使います。
たとえば上記ファイルのtokens=2,3を表示する場合は
for /f "eol=; tokens=2,3 " %i in (temp-netstat.txt) do @echo %i,%j
---
バッチファイルで処理する場合は上記の %i や %jは %%i %%j のように書いてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!