看你的要求只是获取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