我的第一篇文章,请温柔。
我有批处理文件,它将ipconfig / all数据输出到我桌面上的txt文件。
是否可以使用文件中包含的IP地址或mac地址数据来重新生成文件。
标记
答案 0 :(得分:2)
是的,这是可能的。
首先你需要找到地址。例如。与
findstr /C:" IPv6 Address" foo.txt
然后你需要把地址变成一个变量:
set Address=
for /f "delims=: tokens=1*" %%a in ('findstr /C:" IPv6 Address" foo.txt') do (
if not defined Address=%%b
)
尽管循环变量为%%b
,但请注意%%a
的使用。那是因为标记化创建了新的变量。此外,我们只使用第一个地址,因为可能有几个,但这只是一个模糊的启发式,因为非NIC设备是在它们之前还是之后才真正开始。
然后我们需要清理地址,因为冒号在文件名中无效:
set Address=%Address::=_%
并重命名文件
ren foo.txt %Address%.txt
我猜你肯定可以弄清楚如何使其适应IPv4或MAC地址。
答案 1 :(得分:0)
如果您调整条款,则可以选择所需的MAC地址。
目前它选择了它在ipconfig /all
输出中找到的第一个以太网设备,并创建了一个带有MAC地址的txt文件。
@echo off
for /f "delims=" %%a in ('ipconfig /all ^|findrepl "Ethernet" /e:"Physical Address" /b:"Physical Address" ^|findrepl ".*Physical Address.*: (.*)" "$1" ^|findrepl /o:1:1 ') do (
ipconfig /all >"%%a.txt"
)
以上使用名为findrepl.bat
的帮助程序批处理文件 - 从https://www.dropbox.com/s/rfdldmcb6vwi9xc/findrepl.bat下载
将findrepl.bat
放在与批处理文件相同的文件夹中或路径上。