Board logo

标题: 这个txt该怎么读取指定的值? [打印本页]

作者: FBOAR     时间: 2007-1-18 05:51    标题: 这个txt该怎么读取指定的值?

已经搞定...感谢lxmxn的解答以及楼下所有关注的朋友 ccwan很热心哈 谢谢~ 现有a.txt,内容如下: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\mm] @=hex(3ef): 也就是有三行是空的 求解该txt如何读取3ef这个值?? 试了几次 还是不行 怎么每次都说不清楚 不好意思 我想用这个批处理 echo 3ef这个值 没成功 for /f "eol=[ tokens=2 delims=()" %%i in (a.txt) do set d=%%i echo %d% pause reg export "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\00000%d%" c:\b.reg [ Last edited by FBOAR on 2007-1-17 at 06:33 PM ]

作者: ccwan     时间: 2007-1-18 06:08
能说详细点吗?

作者: ccwan     时间: 2007-1-18 06:09
是说明白一点

作者: hxuan999     时间: 2007-1-18 06:11
不明白,就是读出3ef吗? [ Last edited by hxuan999 on 2007-1-17 at 06:12 PM ]

作者: tao0610     时间: 2007-1-18 06:12
多种方法. for+more for+findstr for skip findstr+变量截取.....

作者: NaturalJ0     时间: 2007-1-18 06:14
楼主应该把读取“规则”说清楚。否则可能有N种解决方案,但不一定都能真正符合你的要求。

作者: FBOAR     时间: 2007-1-18 06:24
编辑了一下 不好意思

作者: 9527     时间: 2007-1-18 06:25
就按照楼主这个文件,下面代码应该可以
for /f "tokens=3 delims==()" %a in (test.reg) do @echo %a

作者: FBOAR     时间: 2007-1-18 06:37
楼上的好像不行 试了下

作者: ccwan     时间: 2007-1-18 06:39
cmd下使用

作者: tao0610     时间: 2007-1-18 06:42
for /f "eol=[ tokens=2 delims=()" %%i in (a.txt) do set d=%%i echo %d% pause 怎么没成功?提示什么? @=hex(3ef):下面没东西了吧.

作者: FBOAR     时间: 2007-1-18 06:53
Originally posted by tao0610 at 2007-1-17 05:42 PM: for /f "eol=[ tokens=2 delims=()" %%i in (a.txt) do set d=%%i echo %d% pause 怎么没成功?提示什么? @=hex(3ef):下面没东西了吧.
--- 有两个空行的 返回 echo 处于打开状态 下面的路径中的变量也就无效了 我写的就是这个 大家可以试下 导出用户名guest的 reg export "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names\guest" c:\a.reg for /f "eol=[ tokens=2 delims=()" %%i in (a.reg) do set d=%%i echo %d% pause reg export "HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\00000%d%" c:\b.reg pause

作者: everest79     时间: 2007-1-18 08:21
HKLM\SAM是安全路径,不修改设置是没办法访问的
for /f "tokens=3" %%i in ('reg query "HKLM\SAM\SAM\DOMAINS\ACCOUNT\USERS\NAMES\GUEST" /ve^|find "没有名称"') do (
for /f "tokens=2 delims=x" %%j in ("%%i") do set a=%%b)

作者: minmin888     时间: 2007-5-8 14:32
for /f "tokens=2 delims=()" %a in (test.reg) do @echo %a 这样更好理解!