it-swarm.com.de

Wie gebe ich Befehle in einem CMD-Fenster mit AutoIt (* .au3) -Skripten ein?

Was ich ausprobiert habe und nicht funktionierte:

  1. Ich habe cmd.exe geöffnet
  2. Tippte "cd \" >> ohne Anführungszeichen
  3. Gedrückt Enter
  4. Tippte "cd C:\Programme (x86)\Jenkins"
  5. Gedrückt Enter
  6. Tippte "jenkins.exe start"
  7. Gedrückt Enter

Ich habe auch den Befehl sleep nach jedem Typ verwendet, um sicherzustellen, dass er wegen der schnellen Ausführung nicht überspringt.

;Run application
Run("cmd.exe")

;Wait for CMD to be opened
WinWaitActive("Administrator: C:\Windows\system32\cmd.exe", "", 15)

;Write some commands on cmd
ControlSend("Administrator: C:\Windows\system32\cmd.exe", "", "Edit1", "cd\")
Sleep(10000)
Send("{Enter}")
Sleep(10000)
ControlSend("Administrator: C:\Windows\system32\cmd.exe", "", "Edit1", "cd C:\Program Files (x86)\Jenkins")
Sleep(10000)
Send("{Enter}")
ControlSend("Administrator: C:\Windows\system32\cmd.exe", "", "Edit1", "jenkins.exe start")
Sleep(10000)
Send("{Enter}")

Ich habe die Antwort bekommen:

ControlSend("Administrator: C:\Windows\system32\cmd.exe", "", "", "cd C:\Program Files (x86)\Jenkins")

Ich musste "Bearbeiten" entfernen, da cmd kein bearbeitbares Fenster ist.

7
paul

Starten Sie Ihr Programm direkt:

RunWait(@ComSpec & " /c jenkins.exe start", "C:\Program Files (x86)\Jenkins")
6
Obi

Benutzen &

Exp:

$CMD = 'cd %tmp% & md 1 & md 2 & cd %tmp%/1 & md 3 4 & md "5 6" &'
RunWait(@ComSpec & " /c " & $CMD )
1
;Run application
Run("cmd.exe")

;Wait for CMD to be opened
WinWaitActive("Administrator: C:\Windows\system32\cmd.exe", "", 1)
Send('C:' & "{ENTER}")
Send('cd Program Files (x86)' & "{ENTER}")
Send('cd TestAPP' & "{ENTER}")
Send('start testApp.exe' & "{ENTER}")
0
Gloria Rampur
Run("C:\WINDOWS\system32\cmd.exe")
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
send('cd C:\Program Files (x86)\' & "{ENTER}")
0
mrt