中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [結案][vbs]如何给变量赋有'的值
作者:
标题: [結案][vbs]如何给变量赋有'的值 上一主题 | 下一主题
bapala
初级用户





积分 28
发帖 11
注册 2006-7-11
状态 离线
『楼 主』:  [結案][vbs]如何给变量赋有'的值

例如变量名称是:strcmd,变量的值要求是'notepad.exe',不是"'notepad.exe'"如何实现呢?看了许多帮助找不到,郁闷中阿,清大虾知道,谢谢

[ Last edited by bapala on 2006-11-9 at 08:21 AM ]

2006-11-8 05:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 2 楼』:  


@echo off
set "strcmd='notepad.exe'"
echo %strcmd%
pause


   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-8 06:13


2006-11-8 05:47
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 3 楼』:  

和vbs有什么关系呢?




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-8 06:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  


  electronixtar ,你写一个vbs赋值的出来~呵呵~


2006-11-8 06:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 5 楼』:  

strcmd='notepad.exe'

没看懂楼主的意思。瞎写一个




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-8 07:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerocq
中级用户




积分 458
发帖 196
注册 2006-10-5
状态 离线
『第 6 楼』:  

strcmd="'notepad.exe'"
msgbox strcmd

2006-11-8 07:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bapala
初级用户





积分 28
发帖 11
注册 2006-7-11
状态 离线
『第 7 楼』:  

老闆的意思是定期的殺掉一個進程,例如notepad.exe,由於老闆還沒有確定名字,所以我這裡要用strcmd代替進程的名稱,所以希望strcmd的值是'notepad.exe',而不是"'notepad.exe'",像strcmd='notepad.exe'這麽寫出來會被vbs當成註釋而變成strcmd=

  Quote:
Originally posted by electronixtar at 2006-11-8 07:04:
strcmd='notepad.exe'

没看懂楼主的意思。瞎写一个



2006-11-9 04:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerocq
中级用户




积分 458
发帖 196
注册 2006-10-5
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by bapala at 2006-11-9 04:23:
老闆的意思是定期的殺掉一個進程,例如notepad.exe,由於老闆還沒有確定名字,所以我這裡要用strcmd代替進程的名稱,所以希望strcmd的值是'notepad.exe'@...

就是因为加了'号会变成注释,所以要在'外边再加一个"号

2006-11-9 07:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 9 楼』:  

这个意思啊,太简单了 msgbox "'" 不会变注释呀?

strcmd="'notepad.exe'"




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-9 07:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 10 楼』:  

Re bapala:
如楼上几位所说,用引号包起来的'是不会被当做注释的。
另外,如果碰上觉得难处理的字符可以尝试用chr函数来替代。例如:
strCmd = Chr(39) & "notepad.exe" & chr(39)
至于结束进程,并没有什么规定必须要在进程名两边加单引号,我想你应该是用的execquery方法中的select xxx from win32_process where ....语句吧。建议你换成如下语句:
[1]:
    strProcess = "notepad.exe"
    for each x in getobject("winmgmts:win32_process").instances_
         if ucase(x.name) = ucase(strProcess) then x.Terminate
    next
[2]:
    strProcess = "notepad.exe"
    for each x in getobject("winmgmts:").instancesof("win32_process")
        if ucase(x.name) = ucase(strProcess) then x.Terminate
    next
又或者你可以用wscript.arguments对象通过参数来获得被结束的进程名。

以上代码均未测试,如有错误请自行调试更改。

2006-11-9 08:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bapala
初级用户





积分 28
发帖 11
注册 2006-7-11
状态 离线
『第 11 楼』:  

版主高手,謝謝了.我是在sql語句中用的,所以要用'notepad.exe' ,不可用"'notepad.exe'" or chr() & "notepad.exe" & chr(),版主給的另兩種方法倒是可行的.
也謝謝上面的各位兄弟了!

  Quote:
Originally posted by 3742668 at 2006-11-9 08:06:
Re bapala:
如楼上几位所说,用引号包起来的'是不会被当做注释的。
另外,如果碰上觉得难处理的字符可以尝试用chr函数来替代。例如:
[code]strCmd =  ...

[ Last edited by bapala on 2006-11-9 at 08:15 AM ]

2006-11-9 08:11
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
3742668
荣誉版主





积分 2013
发帖 718
注册 2006-2-18
状态 离线
『第 12 楼』:  



  Quote:
我是在sql語句中用的,所以要用'notepad.exe' ,不可用"'notepad.exe'" or chr() & "notepad.exe" & chr(),版主給的另兩種方法倒是可行的.
也謝謝上面的各位兄弟了!

1.那个不叫sql,而是叫WQL,虽然microsoft官方说它是sql的一个子集,但是很显然,它与sql有着较明显的区别。
2.建议你多看看基础文章,从你的回复中可以看出你心中变量的概念还并不是很清晰,对vbs脚本的语法还不是很熟悉,否则你会发现其实就算用execquery方法也不用在变量赋值时前后加'号的。

2006-11-9 08:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: