中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 这段VBS为什么提示语法错误? 上一主题 | 下一主题
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『楼 主』:  这段VBS为什么提示语法错误?

由于需要检测CMD是否存在于进程中,一旦检测到就提示,未检测到就运xcopy.txt
请各位帮忙修正,由于本人水平有限,所以麻烦各位了!~在线等...

Set WshShell = WScript.CreateObject("WScript.Shell")
Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'cmd.exe'")
IF IsArray(colProcessList) Then MsgBox "亲爱的朋友,请先关闭该软件后,再运行本程序执行备份", 64, "友情提示"
Else WshShell.Run "xcopy.txt"
end if



逍遥@浪子@反病毒
2008-2-14 19:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  


Set WshShell = WScript.CreateObject("WScript.Shell")
Set objWMIService = Getobject("Winmgmts:")
Set colProcessList = objWMIService.ExecQuery _
    ("select * from Win32_Process where name='cmd.exe'")
IF IsArray(colProcessList) Then
MsgBox "亲爱的朋友,请先关闭该软件后,再运行本程序执行备份", 64, "友情提示"
Else
WshShell.Run "xcopy.txt"
end if




第一高手    第二高手

2008-2-14 20:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 3 楼』:  

谢谢了!~代码貌似无法实现判断啊...麻烦帮我修改成能判断那CMD进程是否确实存在,如果存在则提示,不存在则运行XCOPY.TXT

[ Last edited by luckboy45 on 2008-2-14 at 09:12 PM ]



逍遥@浪子@反病毒
2008-2-14 21:04
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 4 楼』:  


Set Ws = CreateObject("WScript.Shell")
Dim Wmi, Proc, Info, Flag, Target
Target = "cmd.exe"
Flag = False
Set Wmi = Getobject("Winmgmts:")
Set Proc = Wmi.Execquery("Select * From Win32_Process")
For Each Info In Proc
    If Info.Name = Target Then Flag = True
Next
If Flag = False Then
   Ws.Run "xcopy.txt"
   Else
   MsgBox "亲爱的朋友,请先关闭该软件后,再运行本程序执行备份", 64, "友情提示"
End If




第一高手    第二高手

2008-2-14 21:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
luckboy45
中级用户




积分 487
发帖 212
注册 2007-4-1
状态 离线
『第 5 楼』:  

多谢大哥了!~VBS不愧轮回贯通啊,以后要多向大哥学习才是!~



逍遥@浪子@反病毒
2008-2-14 21:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 6 楼』:  


Set WsShell = CreateObject("WScript.Shell")
Set objWMIService = Getobject("Winmgmts:")
Set ColProcessList = objWMIService.ExecQuery _
    ("select * from Win32_Process where name='cmd.exe'")
For Each objProcess In ColProcessList
intReturn = objProcess.Terminate(1)
Next
WsShell.Run "xcopy.txt"
直接杀死CMD进程后运行xcopy.txt



第一高手    第二高手

2008-2-14 21:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: