コマンド出力から特定の文字セットのみをcmdにコピーさせようとしています。フレーズが存在する行を選択できましたが、そこから迷っています。ここに私のコマンドがあります。
ipconfig | findstr /i "ipv4"
ipconfig
コマンドとfindstr
コマンドに精通していると思います。基本的に、特定のコンピューターのIPv4アドレスを分離しています。これが上記のコマンドです。
IPv4 Address. . . . . . . . . . . : 192.168.1.75
「192.168.1」を分離したいのですが。それを変数に保存して、後でコマンドで使用するようにします。 「192.168.1」と設定したとします。変数a
に。
次に実行するコマンドは、192.168.1.1から192.168.1.254までのすべてのIPアドレスをスキャンし、使用されている方を保存します。これは、まもなくプログラムされる予定であり、「192.168.1」のさまざまな場所にあるさまざまなコンピュータで実行されます。は異なり、私はcmdがその場所に配置するものを分離しようとしています。したがって、前述の変数aは、192.168.10。、10.10.10。、または1.1.1。状況に応じて。これが私が使用するコードです。
FOR /L %i IN (1,1,254) DO ping -n 1 (the 'a' variable)%i | FIND /i "bytes=">>c:\ipaddresses.txt
または、変数がどのように見えるかを確認すると役立ちます。
FOR /L %i IN (1,1,254) DO ping -n 1 192.168.1.%i | FIND /i "bytes=">>c:\ipaddresses.txt
私は64ビットのWindows 10 Proマシンを使用しています。
次のバッチファイル(test.cmd)を使用します。
@echo off
setlocal
setlocal enabledelayedexpansion
rem throw away everything except the IPv4 address line
for /f "usebackq tokens=*" %%a in (`ipconfig ^| findstr /i "ipv4"`) do (
rem we have for example "IPv4 Address. . . . . . . . . . . : 192.168.42.78"
rem split on : and get 2nd token
for /f delims^=^:^ tokens^=2 %%b in ('echo %%a') do (
rem we have " 192.168.42.78"
rem split on . and get 4 tokens (octets)
for /f "tokens=1-4 delims=." %%c in ("%%b") do (
set _o1=%%c
set _o2=%%d
set _o3=%%e
set _o4=%%f
rem strip leading space from first octet
set _3octet=!_o1:~1!.!_o2!.!_o3!.
echo !_3octet!
)
)
)
rem add additional commands here
endlocal
ノート:
_3octet
に保存されますecho
を削除しますrem add additional commands here
を「ネットワークping」に置き換えます使用例と出力:
F:\test>ipconfig | findstr /i "ipv4"
IPv4 Address. . . . . . . . . . . : 192.168.42.78
F:\test>test
192.168.42.
このようなものを試してください。 「ipconfig/all> network_info.txt」は、プログラムのtxtファイルを作成するだけです
ipconfig /all > network_info.txt
type network_info.txt | findstr /v Stuff | findstr /v Etc > whatyouwant.txt
set /p Build=<whatyouwant.txt
このオプションは時間がかかりますが、信じられないほど簡単です。あなたはし続けなければならないでしょう
| findstr /v something
そしてWordをあなたが望むもので置き換えます。別の行から特定の単語を削除する方法を決定する必要がありますが、単純にしたい場合はこれでうまくいきます。コマンドの出力でこれを使用して、不要なゴミを削除します。あなたは理想的には出力をtxtに入れて、それが最初の行を読むので、txtの1行だけになるでしょう。私がこの答えを必要とした他の人を助けてくれたことを願っています。複雑ですが、それがプラスの場合は、txtでも回答を得ることができます