2016-11-22 176 views
1

AutoItアプリケーションを実行し、編集ボックス内の番号を変更し、この番号に基づいてBATファイルを実行します。AutoItを使用してバットファイルを実行する

例として、今日の日付を変更したいと思います。私がAutoItアプリからBATファイルを実行するとき、BATファイルはこの日付を使用します。

実際には可能ですか?

これは、batファイル変数です:

set newDay=22 
set newMonth=11 
set newYear=2016 

そしてこれはAutoItの一部です:

While 1 
    $msg = GUIGetMsg() 
    Select 
     Case $msg = $GUI_EVENT_CLOSE 
      ExitLoop 
     Case $msg = $xxx 
      Run("n:\xxx\xxx\xxx.bat") 
    EndSelect 
WEnd 
+1

標準入力ストリームなどでコマンドライン引数を使用してバッチファイルの数値を受け取る方法を指定する必要があります。 – aschipfl

答えて

1

のAutoItコードから渡すには:

While 1 
     $msg = GUIGetMsg() 
     Select 
      Case $msg = $GUI_EVENT_CLOSE 
       ExitLoop 
      Case $msg = $xxx 
       Run("n:\xxx\xxx\xxx.bat" & " " & $newDay & " " & $newMonth & " " & $newYear) 
     EndSelect 
    WEnd 

で受信しますバッチファイル:

set newDay=%1 
set newMonth=%2 
set newYear=%3 
+0

$ newDay = GUICtrlCreateEdit( "99"、176、32、121、97 )| ( "n:\ xxx \ xx \ xx.bat"& ""&$ newDay)を実行します。 | set newDay =%1 |これは機能しません。なぜだか分からない。 – Denis

+0

これは、GUICtrlRead()を使用して編集ボックスの値を取得する必要があるためです。また、InputBox()を使用する方が簡単かもしれません – Richard

関連する問題