通过批处理echo offif exist B.txt del B.txtipconfig /all >A.txtfind "物理地址" A.txt >B.txt生成A.txt和B.txt2个文件,现在想提取B.txt中的第二行指定位置的字符,如图1请问命令该怎么写?
是取这个位置的字符串,不是提取图中的具体的字符。这个位置的字符是随机的
只取第二行的那两个字符串对吗?
是取这个位置的字符串,不是提取图中的具体的字符。这个位置的字符是随机的
追答我知道是取这个位置的字符串。上面的代码就是。
如果说该位置的MAC地址长度如果和下面几个长的一样,那么上面的代码就不行了。如果基本都是6位的,那么就可以。
好的
麻烦再帮看一下如何把图中和你给的这两段代码结合起来,想实现的目的是手动输入字符,然后提取上文中指定位置的字符,生成新的字符。例如手动输入ABC,自动提取F6B3,生成ABC-F6B3
@echo off & title 自定义修改计算机名 By 依梦琴瑶
for /f "tokens=5,6 delims=-" %%a in ('ipconfig /all ^| findstr "物理地址"') do (
set m=%%~a%%~b
goto main
)
:main
cls & set "k="
set /p k=请输入部门缩写拼音(完毕后回车):
echo,
if not defined k (
echo 请设置后再回车,按任意键重新输入
pause>nul
goto main
)
echo 原计算机名为:%computername%
echo 新计算机名为:%k%-%m%
wmic computersystem where "name='%computername%'" call rename "%k%-%m%" >nul 2>nul
:sle
echo 请确认计算机名是否修改正确,正确请按[Y]重启计算机,错误请按[N]修改计算机名。
set /p a=请选择[Y,N]:
if /i "%a%"=="Y" goto B
if /i "%a%"=="N" goto main
goto sle
:B
shutdown -r -t 0