中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-02 16:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教2000下的注册表读取和进程查看命令! 查看 1,277 回复 7
楼 主 请教2000下的注册表读取和进程查看命令! 发表于 2006-12-16 06:48 ·  中国 广东 广州 联通
初级用户
积分 90
发帖 35
注册 2006-10-23 01:13
19年会员
UID 67781
性别 男
状态 离线
问题一:
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,*" %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" ^| FIND /I "WUServer"') DO (
SET update=%%k)

可是2000下也没有reg这个命令,
用regedit /e也没有办法导出注册表


问题二:
同时在2000环境下无法使用tasklist命令,请问有其他的命令可以代替吗?
2 发表于 2006-12-16 06:58 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  1、用echo写文件吧。

  2、如果2000支持WIMC的话,可以用WMIC代替tasklist。
3 发表于 2006-12-16 07:29 ·  中国 广东 广州 联通
初级用户
积分 90
发帖 35
注册 2006-10-23 01:13
19年会员
UID 67781
性别 男
状态 离线
楼上的 1、用echo写文件吧。
这个我还是不太明白,我是需要从注册表读取键值的,怎么用echo写文件呢?请在指教一下,谢谢!
4 发表于 2006-12-16 08:46 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  这个……

  既然2000里面没有自带的注册表健提取工具,那就没有办法了,只能手工提取了。
5 发表于 2006-12-16 10:58 ·  中国 广东 广州 联通
初级用户
积分 90
发帖 35
注册 2006-10-23 01:13
19年会员
UID 67781
性别 男
状态 离线
有没有其他的外部工具可以实现呢?

还有2000下用没有其他另类的方法显示系统运行的进程?

[ Last edited by yaoguof on 2006-12-16 at 11:05 AM ]
6 发表于 2006-12-16 11:11 ·  中国 甘肃 平凉 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
复制进去个reg.exe可以吗?
7 发表于 2006-12-16 21:35 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
Originally posted by yaoguof at 2006-12-16 06:48:
问题一:
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=1,2,*" %%i in ('REG QUERY "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" ^| F ...



写注册表的方法有很多。
1。最常用的方法是使用REG命令。如果你的WIN2000没有这个你可以把WINXP的复制一个到winnt\system32下面。
2。如果你不想采用第一种方案,建议使用ECHO的方式,不过有大量的注册表读写操作的话,工作量相对比较大。如:
ECHO REGEDIT4 >>MYREG.REG
ECHO. >>MYREG.REG
ECHO >>MYREG.REG
ECHO >>MYREG.REG
ECHO @="{098f2470-bae0-11cd-b579-08002b30bfeb}">>MYREG.REG
REGEDIT /S "MYREG.REG"

其中ECHO是管道命令,可以把字符显示出来或输出到一个文件中,而REGEDIT则把ECHO的输出文件MYRRG。REG导入注册表。
完成后注册表将产生:


@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

3.我认为读写注册表最简单的方法是先在记事本中编辑好需要的注册表项和值,然后使用REGEDIT /S导入即可,方法实际上同2。但是这个方法有好处就是制作绿色版软件时非常有用,如我制作绿色软件前使用注册表监视工具获取注册表文件green.reg,然后使用binsub等DOS工具或使用for命令把GREEN.REG文件中的路径替换为绿色办安装路径(使用%cd%变量可以获取当前路径),然后使用regedit /s "green.reg"导入注册表就可以了.

4.使用第三方工具,这样的工具很多,我就不做介绍,因为本人不使用第三方注册表工具.

好象WMIC也可以操作注册表,不过本人正在学习WMIC中,了解不多.
8 发表于 2006-12-16 22:23 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
论坛跳转: