2016-04-13 13 views
0

でのIPアドレスの一部を置き換えるためにはどのようにバッチファイルでIPアドレスの特定の部品を交換したいと思います。バッチファイル

は、変数

set ip=10.20.45.254 

または

set ip=10.20.45.2 

があると言うことができますし、私は最後の部分私が試してみました

10.20.45.254 -> 10.20.45.1 

ようにを変更する必要がありますこのマニュアルを確認するhttp://ss64.com/nt/syntax-replace.html しかし、IPの最後の部分を正確に検出する方法がわかりません...

できますか?

答えて

2

バッチ(ファイル名を指定してtest.txtの置き換え)

for /F "tokens=1,2,3,4 delims=." %%a in (test.txt) do (echo %%a.%%b.%%c.1) 

P.S.でこれを試してみてくださいこれを試してみてください...

rem ----------------------------------------- 
rem Imagine that %line has some IP string... 
SET _IP=%line:~4% 
ECHO IP: %_IP%   
rem ----------------------------------------- 
timeout /t 2 
for /f "tokens=1,2,3,4 delims=." %%a IN ("%_IP%") DO ( 
set gate=%%a.%%b.%%c.1 
) 
ECHO Gateway IP: %gate%  

は、彼らが不可欠("%_IP%")あり、qoutesの世話をします。

+0

あなたは、それはいくつかの変数からIPを取得するように、コードを変更するためにしてください気にしませんか? –

+1

'for /?'は以下を行う方法を示しています: '...("%var% ")do ...' – Stephan

+0

私はあなたがIPアドレスの名前を持つファイルを探していると言っています... –

-2

サブネットマスク255.255.255.0を使用して、必要なIPアドレスを入力することができます。

@echo off 
echo "Enter Static IP" 
echo "Static IP Address:" 
set /p IP_Addr= 

netsh interface ip set address <Name of Network Adapter> static %IP_Addr% 255.255.255.0 

いつでもセクションを追加して、サブネットを求めるか、ハードコードすることができます。

+0

申し訳ありません、IPの大きなリストでファイルを使用しているので、これは必要ありません... –

1

シンプル:

set ip=10.20.45.254 
for %%a in (%ip%) do echo %%~Na.1 

IPのは、ファイル内の行として格納されている場合は、この方法でも動作します:

for /F %%a in (ipList.txt) do echo %%~Na.1