|
以下代码在cmd中运行正常,
cmd /v
for /f "skip=9" %I in ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}') do (
for /f "tokens=3* skip=4" %k in ('REG QUERY %I\Connection /v PnpInstanceID') do (
set m=%k
set id=!m:~13,8!
)
echo !id!
pause
)
P处理文件为
setlocal ENABLEDELAYEDEXPANSION
for /f "skip=9" %%I in ('REG QUERY HKLM\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}') do (
for /f "tokens=3* skip=4" %%k in ('REG QUERY %%I\Connection /v PnpInstanceID') do (
set m=%%k
set id=!m:~13,8!
)
echo !id!
pause
)
CMD命令的/V 开关为ON时可以 用 !varName! 而非 %varName% 来延迟环境变量扩充, 即运行时扩展, 这样就类似与常见的for循环变量赋值了!!而在批处理文件中 该语句之后的命令就无法执行了!! 或者看不到运行结果了,而要使用
setlocal ENABLEDELAYEDEXPANSION
[ 本帖最后由 沙漠之子 于 2007-7-12 12:10 AM 编辑 ] |
|