|
回复 #1 yh_tl 的帖子
感谢楼主研究出这么好的技巧!你说希望有人对下面这段代码简化一下:
:ShowIcon
IPCONFIG >nul &&PECMD WAIT 500
FOR /F %%i IN ('@reg query "HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}" /s^|find /i "Connection"') DO >nul REG ADD %%i /v ShowIcon /t REG_DWORD /d 1 /f &&GOTO NEXT
MD %TEMP%\1 &&GOTO ShowIcon &MD %TEMP%\2 &&GOTO ShowIcon &MD %TEMP%\3 &&GOTO ShowIcon &MD %TEMP%\4 &&GOTO ShowIcon &MD %TEMP%\5 &&GOTO ShowIcon &GOTO END
:NEXT
......
我也不是什么批处理高手,研究了下,把代码简化成下面这个样子,不敢说是优化了(红色部分是加上去的):
:ShowIcon
SET /A temp+=1
IPCONFIG >nul &&PECMD WAIT 500
FOR /F %%i IN ('@reg query "HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}" /s^|find /i "Connection"') DO >nul REG ADD %%i /v ShowIcon /t REG_DWORD /d 1 /f &&SET temp= &&GOTO NEXT
if %temp% lss 5 (GOTO ShowIcon) else (SET temp= &&GOTO END)
:NEXT
......
上面的IF和ELSE要在同一行才有效的!在XP核心的PE上测试通过,当然也可能有更简化更优化的写法,请其它高手参与了!
[ 本帖最后由 moneyjin 于 2012-1-12 18:12 编辑 ] |
|