无忧启动论坛

标题: 谁能将该代码改写成p处理文件[以搞定] [打印本页]

作者: 沙漠之子    时间: 2007-7-11 22:16
标题: 谁能将该代码改写成p处理文件[以搞定]
以下代码在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 编辑 ]
作者: lzys    时间: 2007-9-10 08:58
晕,CMD格式和BAT格式还不一样啊...学习了




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3