使用文本文件中的数据重命名txt文件

时间:2014-01-29 15:39:22

标签: batch-file ip-address rename mac-address

我的第一篇文章,请温柔。

我有批处理文件,它将ipconfig / all数据输出到我桌面上的txt文件。

是否可以使用文件中包含的IP地址或mac地址数据来重新生成文件。

标记

2 个答案:

答案 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放在与批处理文件相同的文件夹中或路径上。

相关问题