DOS批处理怎么实现显示本机IP地址并以该电脑名输出到文本文件?

2025-01-08 12:43:49
推荐回答(1个)
回答1:

看你的要求只是获取IP地址到 hostname.txt,但看脚本内容是分别获取 IP地址和MAC地址到两个文件。而且脚本没考虑多网卡情况,最后一个会覆盖前面的。

如果只要IP地址,用这个脚本

@echo off
setlocal enabledelayedexpansion
for /f %%i in ('hostname') do (set hostname=%%i)
echo IP Address: >\\192.168.0.11\software\%hostname%.txt
for /f "tokens=2 delims=:" %%i in ('ipconfig^|find "IPv4 Address"') do (
    echo %%i>>\\192.168.0.11\software\!hostname!.txt
)

如果还按原来的都要,用下面的脚本,不过全写到了同一个文件

@echo off
setlocal enabledelayedexpansion
echo 获取IP地址并以电脑名命名输出到txt
del /q \\192.168.0.11\software\%hostname%.txt

echo 正在处理文件名...
for /f %%i in ('hostname') do (set hostname=%%i)

for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find /i "IPv4 Address"') do (
    set ipaddress=%%i
    call :a
)
for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| find /i "Physical Address"') do (
    set mac=%%i
    call :b
)
:a
    echo 内网IP地址为: %ipaddress% >>\\192.168.0.11\software\%hostname%.txt
:b
    echo 网卡物理地址为: %mac% >> \\192.168.0.11\software\%hostname%.txt