Board logo

标题: 菜鸟初贴(关于FOR和注册表控制台) [打印本页]

作者: acquiesce0703     时间: 2008-3-12 01:34    标题: 菜鸟初贴(关于FOR和注册表控制台)
问题一:我用DIR结合FOR查询一个文件,得到了一个完整的路径和文件名。比如 :c:\a\b\d\abc.dll。在不能确定路径“长度”的前提下,怎样能去掉最后的文件名只保留前面的路径。

自己看过DOS提示符下的find和findstr的帮助,好象都不太容易办到。另外想过用FOR加delims和tokens,但又不能确定路径的“层数”,也不能从尾部截取。该怎么办呢?

问题二:我得到一个software文件(注册表的一部分),想用reg load 命令来将其挂到我现在的系统里。比如:reg load HKLM\SOFT1 d:\tem\software。这样我打开现在的注册表,能看到“software”里原来全部的结构和内容吗?如果不挂到HKLM\SOFT1,而是HKCU\SOFT2可以吗?

如果可以的话,等完成任务以后用reg unload HKLM\SOFT1 d:\tem\software。这样能彻底清除吗?会不会对我的系统产生影响呢?

作者: pooronce     时间: 2008-3-12 01:48
一、%~pI - 仅将 %I 扩充到一个路径(详见for /?最后),或传递到变量后%var:~0,-3%

作者: acquiesce0703     时间: 2008-3-12 01:59
我到是在帮助里看到过楼上给的提示,帮助的最后部分是有这么几个参数。但是我不会用它,帮助文件光是文字太枯燥了。

想从网上找几个FOR语句的例子,可都是高手写的,都是for“嵌套”类的东西。看的头都大了也不明白,里面还有许多我不明含义的“特殊符号”。

论坛里有关于FOR语句的基础帖子吗?我刚来学习还没找到呢。

我找到帖子了: dos命令 - "FOR" - 高级应用范例

最后一个例子终于看懂了,谢谢2楼指点。

只是你说的“传递到变量后%var:~0,-3%”还不会用,以后慢慢学~

第二个问题有人指点吗?

Last edited by acquiesce0703 on 2008-3-12 at 03:12 AM ]

作者: Climbing     时间: 2008-3-12 09:47
问题二:我得到一个software文件(注册表的一部分),想用reg load 命令来将其挂到我现在的系统里。比如:reg load HKLM\SOFT1 d:\tem\software。这样我打开现在的注册表,能看到“software”里原来全部的结构和内容吗?


应该是可以的。

如果不挂到HKLM\SOFT1,而是 HKCU\SOFT2可以吗?


似乎只能挂载到HKLM和HKU下,看reg load /?就知道了。这种问题自己试一下就知道了,没有必要问出来。

如果可以的话,等完成任务以后用reg unload HKLM\SOFT1 d:\tem\software。这样能彻底清除吗?会不会对我的系统产生影响呢?


你给出的reg unload的命令行是错误的,直接用reg unload hklm\soft1即可。这样可以彻底卸载,不会对系统产生影响。

作者: acquiesce0703     时间: 2008-3-12 19:33
谢谢climbing的回答。我今天上午用虚拟机实践了一下,果然REG UNLOAD时如果再写文件和路径就提示:过多的参数。
再多问一句,想在DOS联盟里找关于:SET、SHIFT、IF等DOS语句的用法、示例,应该去哪个版块?昨天只翻到FOR语句的。

原来很多龙帝的高手都在这里,我也是昨天用搜索引擎偶然发现DOS联盟,意外的收获。

作者: killkk     时间: 2008-10-7 01:47
呵呵。。好多东西要自己慢慢体会。。。