无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3981|回复: 8
打印 上一主题 下一主题

有关for命令的使用

[复制链接]
跳转到指定楼层
1#
发表于 2007-1-3 21:42:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
for /f %1 in (    ) do regsvr32.exe /s %1

:list
DFRGSNAP.DLL
DFRGUI.DLL
DMDLGS.DLL
DMDSKMGR.DLL
DMOCX.DLL
FILEMGMT.DLL
MMCNDMGR.DLL
MMCSHEXT.DLL
MYCOMPUT.DLL
OLEACC.DLL
VSSAPI.DLL
DMVIEW.OCX
devmgr.dll

如何让for处理list段的信息
2#
发表于 2007-1-3 21:48:11 | 只看该作者
楼主乃高人,问的是?   

将:list段也放在bat文件中?

我知道的是将你list段的文件存成txt文件,把文件名放在in中。

如果一定要放在bat文件内,能否用find命令带%0参数去查找呢? 感觉应该可以,你试试吧:)
回复

使用道具 举报

3#
发表于 2007-1-4 09:31:45 | 只看该作者
如果楼主确实要把内容放在一个P处理文件中可以用以下方案解决问题:

  1. @echo off
  2. for /f "delims=" %%i in ('more +4^<"%~n0%~x0"') do regsvr32.exe /s %%i
  3. goto :eof
  4. :list
  5. DFRGSNAP.DLL
  6. DFRGUI.DLL
  7. DMDLGS.DLL
  8. DMDSKMGR.DLL
  9. DMOCX.DLL
  10. FILEMGMT.DLL
  11. MMCNDMGR.DLL
  12. MMCSHEXT.DLL
  13. MYCOMPUT.DLL
  14. OLEACC.DLL
  15. VSSAPI.DLL
  16. DMVIEW.OCX
  17. devmgr.dll
复制代码
回复

使用道具 举报

4#
发表于 2007-1-4 15:46:19 | 只看该作者
学习了。
回复

使用道具 举报

5#
 楼主| 发表于 2007-1-4 17:29:06 | 只看该作者
现在无忧牛人越来越多的说,谢谢bagpipe了
回复

使用道具 举报

6#
 楼主| 发表于 2007-1-10 18:50:50 | 只看该作者
再次增加难度,

1.能否不使用外部命令(如more)
2.能否含多套列表
回复

使用道具 举报

7#
 楼主| 发表于 2007-1-14 14:52:20 | 只看该作者
那位大大知道
回复

使用道具 举报

8#
发表于 2007-1-14 15:23:04 | 只看该作者
  如果要区分内部命令和外部命令的话,就是纯DOS风格的代码了;纯DOS下的 for 不支持 /f 开关,没法提取。

  提取批处理文件内部的某个标签段,要么受行位置的限制,难以对代码进行更新;要么难以定位标签段的结尾;要么就会无法完美地处理特殊字符(如重定向符号、变量引用符号)。最好通过读取配置文件来实现。
回复

使用道具 举报

9#
 楼主| 发表于 2007-2-3 14:47:25 | 只看该作者
原帖由 沙漠之子 于 2007-1-10 06:50 PM 发表
2.能否含多套列表

@echo off
for /f "delims=" %%i in ('more +4^<"%~n0%~x0"') do (
if "%%i"=="::listend" goto next
regsvr32.exe /s %%i
)

goto :eof
:list
DFRGSNAP.DLL
DFRGUI.DLL
DMDLGS.DLL
DMDSKMGR.DLL
DMOCX.DLL
FILEMGMT.DLL
MMCNDMGR.DLL
MMCSHEXT.DLL
MYCOMPUT.DLL
OLEACC.DLL
VSSAPI.DLL
DMVIEW.OCX
devmgr.dll
::listend
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 11:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表