找回密码
 加入
搜索
查看: 4905|回复: 12

如何向CMD命令行输入其它字符

  [复制链接]
发表于 2008-9-27 22:49:42 | 显示全部楼层 |阅读模式
请教各位:
  用 RUN(@comspec) 打开CMD,那要怎样才行在CMD里输入任意字符呢?比如,输入:HELLO WOLD!??
谢谢!!!
发表于 2008-9-27 23:48:55 | 显示全部楼层
send但是没法send中文
发表于 2008-9-28 02:31:44 | 显示全部楼层
AU3根本就不支持中文,想输中文好象不可能

如果要输字符,Send还是可以的

Run("cmd.exe");-----------------运行dos窗口
Send("ipconfig /all");---------------输入命令
Send("{Enter}");-----------------回车,看效果
发表于 2008-9-28 08:44:56 | 显示全部楼层
SendX
--------------------------------------------------------------------------------

向激活窗口发送中文字符。

#include <ACN_String.au3>
SendX ( "字符",标志)



参数

字符 要发送的字符。
标志 必需,设置为0或者非1为剪切板模式,1为发送ASC模式


什么叫做根本就不支持中文??
发表于 2008-9-28 10:07:10 | 显示全部楼层
默认按"CTRL+SPACE"是打开五笔的朋友试试:

Run(@ComSpec)
Send("^{space}wqvbkcg{space}ypjgggwhimya?^{space}")

用模拟键击代你在里面打字!
发表于 2008-9-28 10:12:31 | 显示全部楼层
用粘贴的办法:

Run(@ComSpec)
ClipPut("你好啊,我又用了一种办法来输入了!")
ClipGet()
Send("!{space}ep")
发表于 2008-9-28 12:47:04 | 显示全部楼层

这里有高手么..怀疑

你可以利用$handle=Run(@cmdspec,@systemdir,$stdin_Child+$stdout_child)
这样输入输出就与$handle联系上了
然后你再用stdwrite($handle,"你要的内容") ----这一步比send好在完全与cmd窗口关联,不受其他窗口影响
用 $var=stdreadout($handle)得到最后输出的内容.
具体你要查阅stdwrite和run的用法.
我的版本:V3.2.12.1
发表于 2008-9-28 13:02:09 | 显示全部楼层
其实这些东西论坛都发过了的,可是没人看。这里高手可能真的没有,也许真的值得怀疑。

http://www.autoitx.com/forum.php ... &extra=page%3D2
发表于 2008-9-28 21:14:26 | 显示全部楼层
原帖由 marcushe 于 2008-9-28 12:47 发表
你可以利用$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") 
无文字输出反应

居士给的贴里的方法,也没见反应
发表于 2008-9-29 17:26:57 | 显示全部楼层
不知道,楼主想做什么,如果在程序中使用的话,应该这样
#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版需自定义个函数
 楼主| 发表于 2008-10-6 11:56:34 | 显示全部楼层
有时我们要在命令行打开一些中文字符的路径,所以。。。。。。
发表于 2008-10-6 12:04:50 | 显示全部楼层
原帖由 pg1984 于 2008-10-6 11:56 发表
有时我们要在命令行打开一些中文字符的路径,所以。。。。。。

给个例子看看,不明白为什么要在DOS窗口里输入的?
发表于 2008-10-6 20:16:33 | 显示全部楼层
原帖由 pg1984 于 2008-10-6 11:56 发表
有时我们要在命令行打开一些中文字符的路径,所以。。。。。。

如果只是打开特定路径可以这样
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
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-22 01:37 , Processed in 0.079355 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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