これまでのところ、バッチファイルには次のものがあります。
%comspec% /c ipconfig | find "IPv4" > %HOMEPATH%\desktop\MyIP.txt
%comspec% /c start notepad %HOMEPATH%\desktop\MyIP.txt
ただし、バッチファイルを実行すると、MyIP.txtが表示されても空になります。
一方、Windows-Start検索フィールドから各行を次々に実行すると機能します。
それを修正する方法はありますか?
ここのバッチファイルから正常に動作します。
カップルの提案:
%comspec% /c ipconfig | find "IPv4" > "%HOMEPATH%\desktop\MyIP.txt"
echo %HOMEPATH%
だけを試し、同じ方法で起動します。出力をチェックして、%HOMEPATH%が期待どおりに拡張されるかどうかを確認します(バッチの最後に「一時停止」を追加して、待機させます)キーを押す)。これはWindows10で正常に機能します。
@echo off
for /f "skip=1 delims={}, " %%A in ('wmic nicconfig get ipaddress') do for /f "tokens=1" %%B in ("%%~A") do set "IP=%%~B"
for /f "tokens=1 delims=:" %%j in ('ping %computername% -4 -n 1 ^| findstr Reply') do (
set localip=%%j
)
echo Public IP is: %IP%
echo Local IP is: %localip:~11%
パブリックIPアドレスとプライベートIPアドレスの両方を返します。
以下のコードをバッチファイルとしてsystem32フォルダーに保存します。
Windows 7の場合、バッチファイルをC:\ Windows\System32に保存します。
@echo.
@echo IP INFORMATION
@echo By:Aswin Sha
@ipconfig/all | find "Subnet Mask"
@ipconfig/all | find "IPv4"
@ipconfig/all | find "Default Gateway"
@ipconfig/all | find "Host Name"
@ipconfig/all | find "DNS Suffix Search List"
@ipconfig/all | find "Physical Address"
@ipconfig/all | find "DHCP Enabled"
@ipconfig/all | find "DHCP Server"
@ping 127.0.0.1
@echo.
@pause
バッチファイルを使用する必要がありますか?要件に応じて、GetIP.vbsとして保存され、実行された次のコードは、メモ帳を起動し、メモ帳にIPアドレスを出力しますなし最初にテキストファイルとして保存:
Set colItems = GetObject("winmgmts:\\.\root\CIMV2").ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE", , 48)
For Each objItem In colItems
If InStr(objItem.IPAddress(0), ":") = 0 Then
strIP = "Description: " & objItem.Description & vbCR & "IP Address : " & objItem.IPAddress(0) & vbNewLine
End If
Next
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "Notepad"
WScript.Sleep 100
WshShell.AppActivate "Notepad"
WshShell.SendKeys strIP