dngmy 发表于 2017-8-1 09:16:02

[已解决]让输出的exe程序要带参数才能运行

本帖最后由 dngmy 于 2017-8-7 20:33 编辑

比如一个发邮件的程序 mail.exe
如果带参数运行:mail.exe -L 就表示系统登陆执行,程序就会邮件系统被有人登陆了。
如果带参数运行:mail.exe -R 就表示重启执行,程序就会邮件系统被重启了。

当然不带参数,就无法执行

程序里面如果来实现这样的参数呢?

shuishen49 发表于 2017-8-23 08:31:00

If $CmdLine = 1 Then
      Select
                Case $CmdLine = "1"
                        MsgBox(0, "", "正在完成参数 " & $CmdLine & " 功能", 20)
                Case $CmdLine = "2"
                        MsgBox(0, "", "正在完成参数 " & $CmdLine & " 功能", 20)
                Case $CmdLine = "-p"
                        MsgBox(0, "", "正在完成参数 " & $CmdLine & " 功能", 20)
      EndSelect
      Exit
EndIf

ShellExecute(@ScriptFullPath, "1")
ShellExecute(@ScriptFullPath, "2")
ShellExecute(@ScriptFullPath, "-p")给你看一个例子吧 是从别人那里复制粘贴的

kk_lee69 发表于 2017-8-1 09:33:28

回复 1# dngmy


    命令行參數
當我們傳遞命令行參數到 AutoIt 腳本中的時候, AutoIt 會初始化一個特殊的數組 $CmdLine :

$CmdLine --- 參數的個數
$CmdLine --- 第一個參數 (在腳本名稱後面)
$CmdLine --- 第二個參數
...
$CmdLine[$CmdLine] --- 某個方法獲取的最後一個參數...



值得注意的是不能將腳本名作為參數類; 要獲取腳本名, 請使用 @ScriptName 代替.

參數中如果含有空格,必須使用 "雙引號"把内容围住. 編譯 腳本同樣也能接受命令行參數.



如果你的腳本是這樣運行的:

    AutoIt3.exe myscript.au3 參數1 "這 是 另一個 參數"

$CmdLine --- 等於 2, 命令行有兩個參數

$CmdLine --- 等於第一個參數: "參數1"

$CmdLine --- 等於第二個參數: "這 是 另一個 參數"

@ScriptName --- 等於腳本名稱: myscript.au3



除 $CmdLine 之外還有一個名為 $CmdLineRaw 的變數, 包含未被拆分的完整命令行.

因此,對於上面的例子:

$CmdLineRaw --- 等於: myscript.au3 參數1 "這 是 另一個 參數"



如果腳本被編譯, 並這樣運行:

    myscript.exe 參數1 "這 是 另一個 參數"

$CmdLineRaw 等於: 參數1 "這 是 另一個 參數"

注意 $CmdLineRaw 會立即返回參數.



注意 : 只有 63 個參數會被 $CmdLine[...] 返回. 但 $CmdLineRaw 總是返回完整的命令行.



AutoIt 的特定命令行開關
格式 1: AutoIt3.exe 文件 [參數 ...]
                執行 AutoIt3 腳本文件


/ErrorStdOut    允許致命錯誤重定向到 StdOut, 可以被 Scite 編輯器捕捉. 此開關可用於編譯的腳本.


要執行一個標準的 AutoIt 腳本文件 'myscript.au3',使用命令:
'AutoIt3.exe myscript.au3'

xz00311 发表于 2017-8-1 10:25:13

有例子那,或者有时间自己试一下

dngmy 发表于 2017-8-1 11:47:54

好的,谢谢各位,我来试试。

heroxianf 发表于 2017-8-1 14:11:23

论坛里有很多列子,我好像都问过~{:face (239):}

yamakawa 发表于 2017-8-1 16:22:39

回复 5# heroxianf


    {:face (356):}因为你是08年就来的老人家啊。。。俺们是刚来的新人。。

yamakawa 发表于 2017-8-4 19:40:58

回复 4# dngmy


    如果问题已解决,请修改标题加上已解决字样

king8462 发表于 2017-8-7 08:53:59

加参数这个想法不错,原来au3也可以这样用。厉害了

dngmy 发表于 2017-8-7 20:33:38

回复 7# yamakawa


改了,谢谢提醒。
页: [1]
查看完整版本: [已解决]让输出的exe程序要带参数才能运行