![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 20:29 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [讨论]利用FOR命令匹配文本内容,如此代码可以么? |
| 可打印版本 1,216 / 9 |
| 第1楼 qingzangbasin | 发表于 2006-12-23 21:45 |
| 初级用户 发帖 14 积分 36 | |
|
[讨论]利用FOR命令匹配文本内容,如此代码可以么? autorun.inf只存在于根目录中。
其内容为固定格式: open=sxs.exe shell/auto/command=sxs shell=auto 或者 open=sxs.exe -r shell/auto/command=sxs.exe -r shell=auto 或者 open=c:\sxs.exe -r shell/auto/command=c:\sxs.exe -r shell=auto 我的目的是截取sxs.exe,以及其路径(这个代码中暂时不需要路径) ------------------------------------ [ Last edited by qingzangbasin on 2006-12-23 at 08:47 AM ] |
|
| 第2楼 namejm | 发表于 2006-12-24 03:22 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
只读取文本内容的话,无须对属性进行操作。给你一段演示代码(为了防止路径或文件名中带有特殊字符,所以在结果中加上了引号,以提高兼容性,可视具体情况决定是否采用引号):
[ Last edited by namejm on 2006-12-23 at 02:59 PM ] |
|
| 第3楼 qingzangbasin | 发表于 2006-12-25 00:14 |
| 初级用户 发帖 14 积分 36 | |
Originally posted by namejm at 2006-12-23 02:22 PM: 谢谢斑竹的代码,如何进一步匹配AUTORUN.INF中提取的内容呢? |
|
| 第4楼 namejm | 发表于 2006-12-25 00:25 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
匹配内容具体指什么,请详细说明一下。
|
|
| 第5楼 qingzangbasin | 发表于 2006-12-25 00:41 |
| 初级用户 发帖 14 积分 36 | |
Originally posted by namejm at 2006-12-24 11:25 AM: 获取AUTORUN.INF中的字符后,匹配 set "vir=sxs.exe command.com ravmone.exe autorun.bat" 这里的字符 |
|
| 第6楼 namejm | 发表于 2006-12-25 01:30 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
不懂你在说什么。请把要求详细清晰地描述一下:获取到什么字符?何为匹配?……
|
|
| 第7楼 qingzangbasin | 发表于 2006-12-25 10:33 |
| 初级用户 发帖 14 积分 36 | |
Originally posted by namejm at 2006-12-24 12:30 PM: 呵呵,版主对我的代码视而不见? 目的就是利用FOR获取AUTORUN.INF中的调用程序,然后判断是否和定义的 set "vir=sxs.exe command.com ravmone.exe autorun.bat" 字符串匹配。 |
|
| 第8楼 namejm | 发表于 2006-12-25 11:38 |
| 荣誉版主 发帖 1,737 积分 5,226 来自 成都 | |
|
不是我视而不见,而是你所谓的 匹配 让我感到无法理解:什么叫匹配?完全一样?还是只要是其中的一个?set "vir=sxs.exe command.com ravmone.exe autorun.bat" 显然让人不知所措。你在7楼的描述我仍然看不明白,因为你还是用了 匹配 二字。要想让别人给出准确的代码,就得把自己的意思准确表达到位,不要让人感到无所适从或者歧义丛生。
|
|
| 第9楼 qingzangbasin | 发表于 2006-12-25 11:52 |
| 初级用户 发帖 14 积分 36 | |
Originally posted by namejm at 2006-12-24 10:38 PM: 还是谢谢您的关注,我基本解决了问题。:) 以后在学习批处理的同时加强语言功底:) |
|
| 第10楼 zh159 | 发表于 2006-12-25 13:34 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
LZ应该是把set "vir=sxs.exe command.com ravmone.exe autorun.bat"作为一个“库”的方式保存要匹配的内容,利用for %%j in (%vir%) do (......的方式逐一比对%vir%的变量“库”“sxs.exe command.com ravmone.exe autorun.bat”中的一个文件名。
只是没有表达清楚 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |