找回密码
 加入
搜索
查看: 10956|回复: 16

[系统综合] 简单的DOS命令问题请教【已解决】

 火.. [复制链接]
发表于 2012-7-13 11:57:04 | 显示全部楼层 |阅读模式
本帖最后由 wsmoxiannan 于 2012-7-21 09:41 编辑


如上图标红所示的命令用AUTOIT怎么写?对DOS接触太少,论坛上搜了很多资料可还是看不懂怎么用,自己都觉得好笨。。。望各位能指点一下,感激不尽。
$oWSH=objcreate("wscript.shell")
$sStr=$oWSH.exec(@ComSpec& ' /c """ & "cd c:\Program Files\TPMClientV3\x86> " & "corecmd.exe').stdout.readall
msgbox(0,"",$sStr)
这是我自己看别人的解决方案写的代码,可是不对。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2012-7-13 12:27:43 | 显示全部楼层
Run(@ComSpec & ' /c "C:\Program Files\TPMClientV3\x86\corecmd.exe"',"C:\Program Files\TPMClientV3\x86")
 楼主| 发表于 2012-7-13 13:12:56 | 显示全部楼层
回复 2# xiaowo

感谢你的解答,可是我用你的代码运行了还是不行,我要获得输入上面的DOS命令后CMD里面的内容,你的代码运行后没有返回任何内容
发表于 2012-7-13 13:13:37 | 显示全部楼层
别人能运行,你为什么不能呢。代码你是怎么来的?
建议你先去看下帮助中的单双引号介绍。
发表于 2012-7-13 13:23:12 | 显示全部楼层
本帖最后由 xiehuahere 于 2012-7-13 13:24 编辑

回复 3# wsmoxiannan


    用StdoutRead循环读取获得cmd返回内容,参照如下形式:
$line = ""
Run('command') ;参照2#
While 1
        $line &= StdoutRead($foo)
        If @error Then ExitLoop
Wend
最后得到的 $line 即为所有命令回显内容。
发表于 2012-7-13 13:25:54 | 显示全部楼层
一楼的修改试下
$oWSH = ObjCreate('wscript.shell')
$sStr = $oWSH.exec(@ComSpec & ' /c "c:\Program Files\TPMClientV3\x86\corecmd.exe"').stdout.readall
MsgBox(0, '', $sStr)

评分

参与人数 3金钱 +30 贡献 +5 收起 理由
lpxx + 10 + 5 厉害、佩服
zch11230 + 10 已经收藏了
user3000 + 10 又学了一招...

查看全部评分

发表于 2012-7-13 13:31:06 | 显示全部楼层
DOS命令有PHTH,一行打完就行啦,除非不同磁碟。
有空格前後用 "c:\Program Files\TPMClientV3\x86\corecmd.exe " 包
发表于 2012-7-13 21:17:34 | 显示全部楼层
本帖最后由 lchl0588 于 2012-7-13 21:18 编辑
;------------
Run(@ComSpec & " /k")  ;本身就是一个 CMD.EXE 对话框
;-------------------------------
Run(@ComSpec & " /k notepad.exe") 
  ;这里我们看到  /k 与 notepad.exe 之间有空格,有几个空格都忽略不记
Run(@ComSpec & " /k                   notepad.exe     1  ");实例
;------------
Run(@ComSpec & " /?") ;这里要注意一点是" 与 /?之间有空格,一般都会不注意导致运用失败哦!
Run(@ComSpec & " /k color/?")
;----------------------
Run(@ComSpec & " /k cd ")
Run(@ComSpec & " /k ")  ;这两对比下,会发现什么呢?上述实例为何成功!
;---------上述是各个运行的,单独运行请在Run前面加;号哦------------------
给纠正代码,不如一一实例说明!
发表于 2012-7-13 21:51:15 | 显示全部楼层
不明白,为什么有CD??直接运行不就可以?
 楼主| 发表于 2012-7-14 21:35:23 | 显示全部楼层
回复 6# afan

感谢A版关注,可是运行得到的内容为什么老是空啊,就比如下面代码
$oWSH = ObjCreate('wscript.shell')
$sStr = $oWSH.exec(@ComSpec & ' /c "c:\Program Files\TPMClientV3\x86\dir"').stdout.readall
MsgBox(0, '', $sStr)
运行后只输出了白板,什么内容也没有。
发表于 2012-7-14 23:15:24 | 显示全部楼层
回复  afan

感谢A版关注,可是运行得到的内容为什么老是空啊,就比如下面代码运行后只输出了白板,什么 ...
wsmoxiannan 发表于 2012-7-14 21:35



    “c:\Program Files\TPMClientV3\x86\dir” 如果输出的不是白板那就是灵异现象了
发表于 2012-7-16 09:15:08 | 显示全部楼层
感谢八楼解答,学习.
 楼主| 发表于 2012-7-16 22:09:50 | 显示全部楼层
回复 11# afan

可否告知如果要在该目录下得到输入DIR命令后的结果该如何写?我看了资料还是不太明白。最近做项目的自动化测试需要用到,谢谢
发表于 2012-7-16 22:26:42 | 显示全部楼层
回复 13# wsmoxiannan
$oWSH = ObjCreate('wscript.shell')
$sStr = $oWSH.exec(@ComSpec & ' /c dir "c:\Program Files\TPMClientV3\x86"').stdout.readall
MsgBox(0, '', $sStr)
发表于 2012-7-19 16:27:07 | 显示全部楼层

评分

参与人数 1金钱 -20 收起 理由
afan -20

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-18 21:39 , Processed in 0.085625 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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