
这样吧,把我原来的弄的说一下,制作了一个批处理,它会在需要改文件处生成一个新批处理,并在开机启动项里多个启动项,就是调用这新批处理的,而这批处理执行又会删除这个启动项,也就是说,利用网络传的系统,当每台机重启一次就把proe按各自的mac弄好了,但是你的实际情况不一定和我一模一样,就只把用批处理会生成的批处理代码贴给你,并删去了处理启动项的代码。我是把原要处理的文件它是licdat提前复制了一份取名为lic0txt的,并且把它原来自带的批处理合到一起了,那个批处理就是一句 ptcrypt -i licdat -o licensedat 如果你的不是这样的,自己酌情处理,不要这句已可以完成替换,但是可能还得自己去运行它的生成授权文件的程序
@echo off
set mac0=11-22-33-44-55-66
setlocal enabledelayedexpansion
cd/d "%~dp0"
copy/y lic0txt lic
for /f "tokens=3 delims=: " %%i in ('ipconfig/all^|find "Physical"')do set mac=%%i&goto :next
:next
(for /f "delims=" %%j in (lic)do (
set hs=%%j
set hs=!hs:%mac0%=%mac%!
echo!hs!))>licdat
del lic
ptcrypt -i licdat -o licensedat
echo OK
ping -n 3 1271>nul
set wmi=GetObject("winmgmts:\\\root\CIMV2")
set w=wmiExecQuery("select from win32_processor")
a="CPU名称"
for each i in w
a=a & vbcrlf & iName
next
set w=wmiExecQuery("select from win32_ComputerSystem")
a=a & vbcrlf & vbcrlf & "内存大小"
for each i in w
a=a & vbcrlf & iTotalPhysicalMemory
next
set w=wmiExecQuery("select from win32_DiskDrive")
a=a & vbcrlf & vbcrlf & "硬盘大小"
for each i in w
a=a & vbcrlf & iSize
next
set w=wmiExecQuery("select from win32_LogicalDisk where DriveType='3'")
a=a & vbcrlf & vbcrlf & "盘符----大小"
for each i in w
a=a & vbcrlf & iDeviceID & " ---- " & iSize
next
set w=wmiExecQuery("select from win32_NetworkAdapter")
a=a & vbcrlf & vbcrlf & "网络适配器"
for each i in w
a=a & vbcrlf & iProductName
next
Set w = wmiExecQuery("Select from Win32_NetworkAdapterConfiguration Where IPEnabled=True")
a=a & vbcrlf & vbcrlf & "MAC地址"
For Each i in w
a=a & vbcrlf & iMACAddress
Next
set w=wmiExecQuery("select from win32_VideoController")
a=a & vbcrlf & vbcrlf & "显卡型号----显存"
for each i in w
a=a & vbcrlf & iName & " ---- " & iAdapterRAM
next
Set FSO = CreateObject("ScriptingFileSystemObject")
set f=fsoopentextfile("xinxitxt",2,true)
fwrite "电脑信息:" & vbcrlf & vbcrlf & a
fclose
msgbox "OK"
说明:程序运行约2s(因为读取硬件信息)
部分程序命令可能出错(电脑禁用)
结果保存为“xinxitxt”
for /f "tokens=1,2 delims=:" %a in ('ipconfig ^|findstr "IP Address"') do set ip=%b
echo %ip%
不过这种方法有局限性,因为你如果有多个网卡,或者只有一张网卡,而你的ipconfig命令中显示的最后一行IP Address不是你想要的地址(有时机器安装了IPV6协议)
如果是写在批处理文件中,可以:
for /f "tokens=1,2 delims=:" %%a in ('ipconfig ^|findstr "IP Address"') do set ip=%%b
echo %ip%
你在局域网中吗如果不在局域网中,这个地址是无效的
我做过获取外网ip的程序,我的网友都是用这个获取内网ip,用其他脚本获取外网ip
strComputer = ""
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set IPConfigSet = objWMIServiceExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
For Each IPConfig in IPConfigSet
If Not IsNull(IPConfigIPAddress) Then
For Each strAddress in IPConfigIPAddress
ipad = strAddress
Next
End If
Next
set afile = createobject("scriptingfilesystemobject")opentextfile("c:\atxt")
sf = afilereadall
afileclose
if instr(sf,ipad) then createobject("wscriptshell")run "e:\testexe"
以上就是关于咋样用vbs或者批处理,自动获取本机网卡mac地址并更改pro/E的授权文件啊全部的内容,包括:咋样用vbs或者批处理,自动获取本机网卡mac地址并更改pro/E的授权文件啊、求VBS获取电脑硬件信息,并保存、dos批处理获取ip地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)