如何向CMD命令行输入其它字符
请教各位:用 RUN(@comspec) 打开CMD,那要怎样才行在CMD里输入任意字符呢?比如,输入:HELLO WOLD!??
谢谢!!! send但是没法send中文 AU3根本就不支持中文,想输中文好象不可能
如果要输字符,Send还是可以的
Run("cmd.exe");-----------------运行dos窗口
Send("ipconfig /all");---------------输入命令
Send("{Enter}");-----------------回车,看效果 SendX
--------------------------------------------------------------------------------
向激活窗口发送中文字符。
#include <ACN_String.au3>
SendX ( "字符",标志)
参数
字符 要发送的字符。
标志 必需,设置为0或者非1为剪切板模式,1为发送ASC模式
什么叫做根本就不支持中文?? 默认按"CTRL+SPACE"是打开五笔的朋友试试:
Run(@ComSpec)
Send("^{space}wqvbkcg{space}ypjgggwhimya?^{space}")
用模拟键击代你在里面打字! 用粘贴的办法:
Run(@ComSpec)
ClipPut("你好啊,我又用了一种办法来输入了!")
ClipGet()
Send("!{space}ep")
这里有高手么..怀疑
你可以利用$handle=Run(@cmdspec,@systemdir,$stdin_Child+$stdout_child)这样输入输出就与$handle联系上了
然后你再用stdwrite($handle,"你要的内容") ----这一步比send好在完全与cmd窗口关联,不受其他窗口影响
用 $var=stdreadout($handle)得到最后输出的内容.
具体你要查阅stdwrite和run的用法.
我的版本:V3.2.12.1 其实这些东西论坛都发过了的,可是没人看。这里高手可能真的没有,也许真的值得怀疑。
http://www.autoitx.com/forum.php?mod=viewthread&tid=2728&extra=page%3D2 原帖由 marcushe 于 2008-9-28 12:47 发表 http://www.autoitx.com/images/common/back.gif
你可以利用$handle=Run(@cmdspec,@systemdir,$stdin_Child+$stdout_child)
这样输入输出就与$handle联系上了
然后你再用stdwrite($handle,"你要的内容") ----这一步比send好在完全与cmd窗口关联,不受其他窗口影响
...
3.2.13.7
$handle=Run(@comspec,@systemdir,$stdin_Child+$stdout_child)
StdinWrite($handle,"test") 无文字输出反应
居士给的贴里的方法,也没见反应 不知道,楼主想做什么,如果在程序中使用的话,应该这样
#include <Constants.au3>
Local $foo = Run("cmd.exe", @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
StdinWrite($foo, "echo autoit中文论坛"&@CRLF)
StdinWrite($foo)
Local $data
While True
$data &= StdoutRead($foo)
If @error Then ExitLoop
Sleep(25)
WEnd
MsgBox(0, "Debug", $data)
如果只是为了打开一个cmd窗口,然后输入几个中文字符,A版,用sendx,U版需自定义个函数 有时我们要在命令行打开一些中文字符的路径,所以。。。。。。 原帖由 pg1984 于 2008-10-6 11:56 发表 http://www.autoitx.com/images/common/back.gif
有时我们要在命令行打开一些中文字符的路径,所以。。。。。。
给个例子看看,不明白为什么要在DOS窗口里输入的? 原帖由 pg1984 于 2008-10-6 11:56 发表 http://www.autoitx.com/images/common/back.gif
有时我们要在命令行打开一些中文字符的路径,所以。。。。。。
如果只是打开特定路径可以这样
run_path("d:\游戏")
Func run_path($path = 'c:\');路径可以中文加空格
if not FileExists($path) then
MsgBox(64,"出错",'路径'&$path&'不存在!')
Return
Else
Return Run(@ComSpec & " /k cd /d " & '"' & $path & '"')
EndIf
EndFunc ;==>run_path
页:
[1]