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


  Quote:
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 这样更好理解!