wsmoxiannan 发表于 2012-7-13 11:57:04

简单的DOS命令问题请教【已解决】

本帖最后由 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)这是我自己看别人的解决方案写的代码,可是不对。

xiaowo 发表于 2012-7-13 12:27:43

Run(@ComSpec & ' /c "C:\Program Files\TPMClientV3\x86\corecmd.exe"',"C:\Program Files\TPMClientV3\x86")

wsmoxiannan 发表于 2012-7-13 13:12:56

回复 2# xiaowo

感谢你的解答,可是我用你的代码运行了还是不行,我要获得输入上面的DOS命令后CMD里面的内容,你的代码运行后没有返回任何内容

haijie1223 发表于 2012-7-13 13:13:37

别人能运行,你为什么不能呢。代码你是怎么来的?
建议你先去看下帮助中的单双引号介绍。

xiehuahere 发表于 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 即为所有命令回显内容。

afan 发表于 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)

CCM 发表于 2012-7-13 13:31:06

DOS命令有PHTH,一行打完就行啦,除非不同磁碟。
有空格前後用 "c:\Program Files\TPMClientV3\x86\corecmd.exe " 包

lchl0588 发表于 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??直接运行不就可以?

wsmoxiannan 发表于 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)运行后只输出了白板,什么内容也没有。

afan 发表于 2012-7-14 23:15:24

回复afan

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


    “c:\Program Files\TPMClientV3\x86\dir” 如果输出的不是白板那就是灵异现象了

changlianxi 发表于 2012-7-16 09:15:08

感谢八楼解答,学习.

wsmoxiannan 发表于 2012-7-16 22:09:50

回复 11# afan

可否告知如果要在该目录下得到输入DIR命令后的结果该如何写?我看了资料还是不太明白。最近做项目的自动化测试需要用到,谢谢

afan 发表于 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)

My2009 发表于 2012-7-19 16:27:07

{:face (356):}
页: [1] 2
查看完整版本: 简单的DOS命令问题请教【已解决】