[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

VBS怎样把执行结果赋值给cmd执行命令?

  1. Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")   
  2. Set ps = objWMIService.ExecQuery("select * from Win32_Process where Name='lsass.exe'")   
  3. For Each ps in ps   
  4.     Str = Str & "" & ps.ProcessId
  5. Next
  6. WScript.Echo Str
复制代码


我用上面的 获取了lsass.exe的 进程pid

我如何吧获取的pid 赋到一个cmd命令里那 然后在运行??

下面是运行的cmd命令

  1. set objshell=createobject("wscript.shell")
  2. objshell.run("%comspec% /k net user 获取到的pid 123456 /add"),vbHide
复制代码

  1. objshell.run("%comspec% /k net user " & Str & " 123456 /add"),vbHide
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1楼 的帖子

这样更简单,不用wmi
在cmd中运行 cscript  +下列脚本

  1. set  oshell=wscript.createobject("wscript.shell")
  2. set oexec=oshell.exec("lsass.exe")
  3. pid=oexec.processID
  4. wscript.echo pid
  5. 'ok
复制代码

[ 本帖最后由 myzam 于 2011-3-9 23:05 编辑 ]

TOP

回复 2楼 的帖子

哈哈 太谢谢管理员了  原来这么简单

TOP

回复 3楼 的帖子

myzam 你写的这个貌似有问题。。。。 每次运行获取到的pid数值都是不一样的。。。。

TOP

回复 5楼 的帖子

要是每次运行取得的数值一样,那才有问题。

TOP

既然要赋值,直接用bat就好了:
  1. for /f "tokens=." %%a in ('tasklist /nh /fi "imagename eq lsass.exe"') do (
  2.    for /f "delims=exe " %%b in ("%%a") do set pid=%%b
  3. )
复制代码

TOP

返回列表