找回密码
 加入
搜索
查看: 2067|回复: 3

[AU3基础] [已解决]如何调用cmd里的参数?

[复制链接]
发表于 2011-3-31 19:54:07 | 显示全部楼层 |阅读模式
本帖最后由 pdp320921 于 2011-3-31 23:05 编辑
#include <Constants.au3>

;$s = 'arp -a^|findstr :'
Local $foo = Run(@ComSpec  & "/c:" & 'for /f "tokens=2" %i in ('arp -a^|findstr :') do @echo %i', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
Local $line
While 1
    $line = StdoutRead($foo)
    If @error Then ExitLoop
    MsgBox(0, "STDOUT read:"&@error, $line)
Wend
Run(@ComSpec  & "/c:" & 'for /f "tokens=2" %i in ('arp -a^|findstr :') do @echo %i'
Run(@ComSpec  & "/c:" & 'for /f %i in ('arp -a^|findstr "mic"') do echo %i'
Run(@ComSpec  & "/c:" & 'for /f %i in ('arp -a^|findstr "mic"') do echo %i'
这几句到底应该怎么写才能实现参数的调用?这句到底应该怎么写才能实现参数的调用?
发表于 2011-3-31 21:32:06 | 显示全部楼层
本帖最后由 xxoojoeooxx 于 2011-3-31 21:35 编辑

我想這可以算是語法錯誤吧

舉第一個例子

這裡有三個錯誤
/c: 要改為 /c
@ComSpec 和 /c 和 for... 之間要有空格
在字串中要使用"或'時請用""''或用Chr

Msgbox(0,0,"asfsaf""safas");OK
Msgbox(0,0,'asfs''dfg''afss');OK
Msgbox(0,0,'asfsaf"sa"fas');OK
Msgbox(0,0,'asfsaf"sa"fas');OK
Msgbox(0,0,"asfsaf'sa'fas");OK


Msgbox(0,0,"asfsaf"safas");錯誤


Msgbox(0,0,'asfs'ssaffas');錯誤

所以要改成
Run(@ComSpec  & " /c " & 'for /f "tokens=2" %i in (''arp -a^|findstr :'') do @echo %i', @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
 楼主| 发表于 2011-3-31 22:31:18 | 显示全部楼层
本帖最后由 pdp320921 于 2011-3-31 23:04 编辑

回复 2# xxoojoeooxx
感谢楼上的回复,答案很给力!
这方面有相关资料吗?
谢谢~~
发表于 2011-4-1 11:48:30 | 显示全部楼层
回复 3# pdp320921

用这个简单

批处理转换AU3第二版 _BatToAU3ToRun
http://www.autoitx.com/thread-21101-1-1.html
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-2 10:39 , Processed in 0.140686 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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