Hallo,
ich möchte ein Programm über Dos mit Parameter starten Bsp.: runas /domain /administrator /password /programm
ist das mit autoit möglich?
wenn ja wie bitte um Beispiele - danke in vorraus
Hallo,
ich möchte ein Programm über Dos mit Parameter starten Bsp.: runas /domain /administrator /password /programm
ist das mit autoit möglich?
wenn ja wie bitte um Beispiele - danke in vorraus
Möglich auf jeden Fall. Muss es über dos sein oder reicht dir die Funktion:
[autoit]RunAs()
[/autoit]komm leider immer noch nicht weiter - ich kann über Dos keine Paramter übergeben
ich hab ein bsp gefunden - leider komm ich nicht weiter als ein Paramter
If $CMDLINE[0] And $CMDLINE[1] = '/?' Then
MsgBox(0x40000, 'Help', "Help Window;)')
EndIf
ich möchte aber meinem Programm min 4 Optionen / Paramter übergeben
bsp: programm.exe /administrator /Domain /script /prorgramm ....
ok so wie ich das jetzt sehe startest du das autoit-script über die dosbox oder wie?
brauchst du dos überhaupt? es würde doch auch ohne gehen oder? also rein autoit?
Also willst du es anders herum? - du willst nicht Parameter übergeben sondern an dich übergebene Parameter auswerten?
Wenn ja dann übergib mal Parameter an folgendes Skript:
#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]_ArrayDisplay($CmdLine, "Array $CmdLine")
[/autoit] [autoit][/autoit] [autoit]MsgBox(0,"", "$CmdLineRaw: " & $CmdLineRaw )
[/autoit]danke AspirinJunkie
leider hab ich festgestellt, dass ich doch mit parameter arbeiten müsste zb.
/p passwort /f file /d domain /s script
wie kann ich auslesen was nach /p passwort steht und was mach ich wenn passort leer ist ?
oder /f c:\test\test.exe steht
hat einer von euch eine idee?
ok hier mal eine recht simple aber effektive Parameteranalyse:
die reihenfolge der parameter ist egal.
falsche parameter werden nicht beachtet also sowas wie /xy wird einfach übergangen
Local $password, $file, $domain, $script
[/autoit] [autoit][/autoit] [autoit]If IsArray($CMDLINE) Then
For $i = 1 To $CMDLINE[0]
Switch $CMDLINE[$i]
Case "/p"
If StringLeft($CMDLINE[$i + 1], 1) = "/" Then
MsgBox(0,"Fehler", "Es wurde kein Passwort angegeben")
ExitLoop
Else
$password = $CMDLINE[$i + 1]
$i += 1
EndIf
Case "/f"
If (StringLeft($CMDLINE[$i + 1], 1) = "/") Or Not FileExists($CMDLINE[$i + 1]) Then
MsgBox(0,"Fehler", "Es wurde keine gültige Datei angegeben")
ExitLoop
Else
$file = $CMDLINE[$i + 1]
$i += 1
EndIf
Case "/d"
If StringLeft($CMDLINE[$i + 1], 1) = "/" Then
MsgBox(0,"Fehler", "Es wurde keine Domäne angegeben")
ExitLoop
Else
$domain = $CMDLINE[$i + 1]
$i += 1
EndIf
Case "/s"
If StringLeft($CMDLINE[$i + 1], 1) = "/" Then
MsgBox(0,"Fehler", "Es wurde kein Passwort angegeben")
ExitLoop
Else
$script = $CMDLINE[$i + 1]
$i += 1
EndIf
EndSwitch
Next
EndIf
MsgBox(0,"Passwort", $password)
MsgBox(0,"Passwort", $file)
MsgBox(0,"Passwort", $domain)
MsgBox(0,"Passwort", $script)
Thanks a lot
Danke du / Ihr habt mir sehr geholfen