以下代码是最终想用的.在win8下运行没有报错.
但是在win7跟xp机上面运行就会说不是内部或外部命令,也不是可运行的程序- @echo off
- ::path
- ::keyword
- ::bakfile
- set path=HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318}
- set keyword=NetworkAddress
- set bakfile=C:\reg4d36e972Bak.reg
-
- ::Bak up reg
- echo "Reg backup..."
- reg export %path% %bakfile%
-
- ::Iterate out put path\keywords and delete
- for /f "tokens=* delims= " %%i in ('reg query %path% /s /v %keyword% ^| findstr %path%') do (
- echo "Removing... " %%i
- reg delete %%i /v %keyword% -f
- )
-
- rem netsh winsock reset
- rem shutdown -r
- pause
复制代码 经过百度.在文件开头加上这些代码.就不会报这个错了.但是感觉不是太安全.希望各位大大指点一下(这段bat是要在很多台机上运行的.所以没办法每一台机去设置环境变量)- cd..
- cd..
- cd..
- cd c:/WINDOWS/SYSTEM32
复制代码 而在XP系统上,单独运行以下代码,则会报
"C:\WINDOWS\system32>reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Cl
ass\{4d36e972-e325-11ce-bfc1-08002be10318} /s /v NetworkAddress
错误: 命令行参数太多
C:\WINDOWS\system32>pause
请按任意键继续. . ."- cd..
- cd..
- cd..
- cd c:/WINDOWS/SYSTEM32
- reg query HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e972-e325-11ce-bfc1-08002be10318} /s /v NetworkAddress
- pause
复制代码
|