中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 09:39
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [已结]判断一个文件夹是否打开
可打印版本  1,216 / 14
第1楼 q115643492 发表于 2009-02-09 15:49
新手上路 发帖 6 积分 6
[已结]判断一个文件夹是否打开
我想求一个脚本:
判断一个文件夹是否打开,如果是打开就执行程序a。如果没有打开就执行程序b.
比如我手动打开c:\1文件夹后,在任务管理器中进程是没有变化的,只会在应用程序里显示,所以不能用进程来判断。看能不能判断任务管理器中的应用程序来达到目的呢?或者其他思路,请高手讨论!

[ Last edited by HAT on 2009-2-14 at 13:16 ]
第2楼 hhasee 发表于 2009-02-09 16:37
初级用户 发帖 88 积分 185
有同感,再补充一下,如果在DOS下也能判断就更好了,请高手们赐招!
第3楼 zhengqian529 发表于 2009-02-09 16:40
初级用户 发帖 93 积分 100 来自 湖南
关键在于在哪里获取这个文件夹打开或者关闭状态的信息,
第4楼 yishanju 发表于 2009-02-10 00:10
银牌会员 发帖 1,357 积分 1,488
windows 下枚举所窗口的TITLE来判断
第5楼 yishanju 发表于 2009-02-10 00:21
银牌会员 发帖 1,357 积分 1,488
tasklist taskkill 有判断窗口标题的参数,但是我从来就运行成功过
第6楼 HAT 发表于 2009-02-10 00:58
版主 发帖 5,017 积分 9,023
Re 5楼
这个方法只对那些一个应用对应一个进程的情况有效(比如word)。不适用于楼主的问题。
第7楼 q115643492 发表于 2009-02-14 10:35
新手上路 发帖 6 积分 6
谢谢!问题已经解决,结帖吧1
第8楼 netbenton 发表于 2009-02-14 12:52
银牌会员 发帖 752 积分 1,916 来自 广西
把方法贴出来分亨一下嘛!
第9楼 knoppix7 发表于 2009-02-15 12:12
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
那个openfiles命令?...
第10楼 q115643492 发表于 2009-02-15 18:28
新手上路 发帖 6 积分 6
Dim objws,folders
Set objws=WScript.CreateObject("wscript.shell")
folders="c:\1"
strfolder=Split(folders,";",-1,1)
For Each f In strfolder
If objws.AppActivate(f)=True Then
objws.run "c:\1.txt"
Else

objws.run "c:\2.txt"

End If
Next
第11楼 newxso 发表于 2009-02-17 01:40
初级用户 发帖 101 积分 73 来自 GZ
10楼

代码有误,不成功。可以试试:
第12楼 q115643492 发表于 2009-02-17 01:57
新手上路 发帖 6 积分 6
Originally posted by newxso at 2009-2-17 01:40 AM:

代码有误,不成功。可以试试:
第13楼 everest79 发表于 2009-02-17 02:59
金牌会员 发帖 1,127 积分 2,564
这个跟本地文件夹设置有关
如果关闭了在标题栏显示完整路径,那么11楼是可行的,如果打开了,则不行
第14楼 newxso 发表于 2009-02-17 09:30
初级用户 发帖 101 积分 73 来自 GZ
没留意,因为我一直用的系统都是标题栏不显示完整路径的。如下方式就万无一失:
第15楼 everest79 发表于 2009-02-18 02:27
金牌会员 发帖 1,127 积分 2,564
不知道wmi能不能枚举explorer的子进程标题
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023