[已解决]如何调用cmd里的参数?
本帖最后由 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'这几句到底应该怎么写才能实现参数的调用?这句到底应该怎么写才能实现参数的调用? 本帖最后由 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) 本帖最后由 pdp320921 于 2011-3-31 23:04 编辑
回复 2# xxoojoeooxx
感谢楼上的回复,答案很给力!
这方面有相关资料吗?
谢谢~~ 回复 3# pdp320921
用这个简单
批处理转换AU3第二版 _BatToAU3ToRun
http://www.autoitx.com/thread-21101-1-1.html
页:
[1]