AHK获取CMD命令结果三种方法【RunAnyCtrl】

许多实用脚本和封装函数, 可以让您编写脚本更加便捷高效
User avatar
Zz_
Posts: 5
Joined: 28 Jun 2016, 22:48

AHK获取CMD命令结果三种方法【RunAnyCtrl】

28 Apr 2018, 03:41

【返回cmd命令的结果值 @hui-Zz】(闪动命令框)

Code: [Select all] [Download] GeSHi © Codebox Plus

cmdReturn(command){
; WshShell 对象: http://msdn.microsoft.com/en-us/library/aew9yb99
shell := ComObjCreate("WScript.Shell")
; 通过 cmd.exe 执行单条命令
exec := shell.Exec(ComSpec " /C " command)
; 读取并返回命令的输出
return exec.StdOut.ReadAll()
}

【后台静默运行cmd命令缓存文本取值 @hui-Zz】

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus


【隐藏运行cmd命令并将结果存入剪贴板后取回 @hui-Zz】

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus


【StdoutToVar取命令结果(第三方)】

Code: [Select all] [Expand] [Download] GeSHi © Codebox Plus

Last edited by Zz_ on 29 Apr 2018, 08:44, edited 1 time in total.
tmplinshi
Posts: 1214
Joined: 01 Oct 2013, 14:57

Re: AHK获取CMD命令结果三种方法【RunAnyCtrl】

28 Apr 2018, 07:55

建议用 StdoutToVar,避免弹出 CMD 窗口、产生临时文件等缺点。
User avatar
Zz_
Posts: 5
Joined: 28 Jun 2016, 22:48

Re: AHK获取CMD命令结果三种方法【RunAnyCtrl】

29 Apr 2018, 09:02

tmplinshi wrote:建议用 StdoutToVar,避免弹出 CMD 窗口、产生临时文件等缺点。


刚了解到StdoutToVar,不过我做了测试,发现StdoutToVar对findstr不能支持,比如ahk只获取当前Wifi名的一行,而StdoutToVar返回了所有结果

Code: [Select all] [Download] GeSHi © Codebox Plus

StdoutToVar_CreateProcess("netsh wlan show interface | findstr ""`\<SSID""")
tmplinshi
Posts: 1214
Joined: 01 Oct 2013, 14:57

Re: AHK获取CMD命令结果三种方法【RunAnyCtrl】

29 Apr 2018, 09:18

管道符 | 是 CMD 的语法。

Code: [Select all] [Download] GeSHi © Codebox Plus

StdoutToVar_CreateProcess("cmd /c netsh wlan show interface | findstr ""\<SSID""")

Return to “脚本函数”

Who is online

Users browsing this forum: No registered users and 1 guest