无忧启动论坛

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

PECMD如何实现所有分区中查找文件,找到则执行命令1,找不到则执行命令2?

[复制链接]
跳转到指定楼层
1#
发表于 2011-3-28 18:10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想写一个PECMD的配置文件,实现如下功能:创建一个窗体,上面有2个单选框和一个按钮,
运行后,先在所有硬盘分区中查找文件1,如果文件1被找到,则单选框1可用,如果没找到,则单选框1变成灰色不可用状态。
再继续查找文件2,如果文件2被找到,则单选框2变成可用状态,如果文件2找不到,则单选框2变成灰色不可用状态。
如果文件1和文件2都找到,则两个单选框都可用,并把单选框1选中。如果2个文件都找不到,则单选框1、2,全部灰色不可用。
如何实现?


已经解决了。使用IFEX和FIND搭配来实现。

[ 本帖最后由 msxjc 于 2011-3-29 14:16 编辑 ]
2#
发表于 2011-3-28 21:04:12 | 只看该作者
//   PECMD 似乎不支持文件遍历.(好久没长驻论坛了,不知道有没更新?)
//   不过可以通过CMD命令 扩展 PECMD的功能.

//   希望以下命令行能对你有所帮助。



// -------脚本开始------------

_SUB MAIN,W300H200
ITEM BT1,L10T10W80H20,遍历C盘目录,CALL LISTDIR
ITEM BT2,L120T10W40H20,关于,MESS 此脚本示范的是借用外部命令扩充WINCMD的功能\n如想实现更复杂的命令,可以通过WRIT 输出一个完整的BAT文件,\n在BAT中文件写入命令(输出进展信息到某个文件),\n再进而通过READ命令实时读取BAT信息。\n注意,请避免使用WAIT 命令延迟,这样会造成脚本假死。@ All Right Recevied by Lxl1638,Script by Junee @WUYOUBBS #OK
LABE LB1,L10T40W200H48,SCRIPT:Junyee
TIME TM1,0,CALL ReadNext

_END

CALL @MAIN

_SUB LISTDIR
ENVI @TM1=200
EXEC !cmd.exe /c "@echo off &&dir /s /b /ad C:\ >%temp%\file.log"
ENVI line=1
LOOP $%LB1%=%LastLine%,ENVI @TM1=0
_END

_SUB ReadNext
READ %temp%\file.log,%line%,CurLine
READ %temp%\file.log,0,LastLine
CALC #Line=%Line%+1
ENVI @LB1=%CurLine%
_END


_SUB ReadOver
ENVI @LB1=遍历完毕
_END

// -------脚本结束------------
回复

使用道具 举报

3#
 楼主| 发表于 2011-3-29 12:00:44 | 只看该作者
我反复测试了PECMD的FIND、IFEX和FORX,三条命令。都不能完美的实现
有哪位高手知道吗?
回复

使用道具 举报

4#
发表于 2011-3-29 12:49:24 | 只看该作者
很遗憾,看来你并没有从我的回复中得到一点启发?
PECMD 再配合CMD是完全能实现你所述的功能的。
问题是你肯不肯动手。

再经个小小提示吧;
CMD: for +dir + if 基本就能判断出硬盘中是否存在指定的文件。
在CMD执行后,把信息存到文件(甚至注册表)中。都可以通过PECMD的 READ/REGI 命令读取。
回复

使用道具 举报

5#
发表于 2015-2-21 08:59:34 | 只看该作者
如果单纯使用pemcd难道不行?
结合cmd就要多出来一个bat 文件
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 11:07

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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