au3scr Posted November 9, 2007 Share Posted November 9, 2007 I have problem.. i cant execute (run) it ...I add command attribset but i cant find mistake in my script btw howw i make it show help from commands.txt? [autoit]#include <GUIConstants.au3> #include <GUIEdit.au3> HotKeySet ("{enter}", "read_func") HotKeySet ("^{NUMPADADD}", "IncreaseFont") HotKeySet ("^{NUMPADSUB}", "DecreaseFont") ;~ HotKeySet ("^{mousewheelup}", "IncreaseFont") ;~ HotKeySet ("^{Mousewheeldown}", "DecreaseFont") #include <GUIConstants.au3> #include <GUIEdit.au3> $line = 1 $FontSize = 12 $Form1 = GUICreate ("Terminal", 499, 274, 201, 116, BitOr($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX)) $fsize = 10 GUISetCursor (7) $CommandInput = GUICtrlCreateEdit ("", 0, 0, 497, 273, BitOR ($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX)) GUICtrlSetData (-1, "shell:") GUICtrlSetFont (-1, $fsize, 500, 0, "Terminal") GUICtrlSetColor (-1, 0xFFFFFF) GUICtrlSetBkColor (-1, 0x000000) GUISetState() While 1 $msg = GUIGetMsg () Switch $msg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd func help () WinActivate("Terminal") Send("Type commands for help") EndFunc Func read_func() $line = _GUICtrlEdit_GetLineCount ($CommandInput) - 1 $Input = _GUICtrlEdit_GetLine ($CommandInput, $line) $command = StringTrimLeft ($Input, 6) $Say = StringInStr ($command, "say") $Exit = StringInStr ($command, "exit") $sysinfo = StringInStr ($command, "sys") $ip = StringInStr ($command, "ip") $ping = StringInStr ($command, "ping") $run = StringInStr ($command, "run") $play = StringInStr ($command, "play") $kill = StringInStr ($command, "kill") $delfile = StringInStr ($command, "delfile") $soundvol = StringInStr ($command, "soundvol") $diskfree = StringInStr ($command, "diskfree") $tcmd = StringInStr ($command, "tcmd") $transparent = StringInStr ($command, "transparent") $untrans = StringInStr ($command, "untrans") $aptgetupdate = StringInStr ($command, "aptgetupdate") $FileCopy= StringInStr ($command, "filecopy") $dirCopy= StringInStr ($command, "dircopy") $filemove= StringInStr ($command, "filemove") $commands= StringInStr ($command, "commands") $attribget= StringInStr ($command, "attribget") $attribset= StringInStr ($command, "attribset") If $Say Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & $string & @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else If $Exit Then Exit Else If $sysinfo Then sys() ;HERE'S THE FIX======== HotKeySet ("{enter}") Send (@CRLF & "shell:") $line = $line + 30 HotKeySet ("{enter}", "read_func") ;========================== Else If $commands Then commands() HotKeySet ("{enter}") Send (@CRLF & "shell:") $line = $line + 30 HotKeySet ("{enter}", "read_func") Else If $attribget Then $string = StringTrimLeft ($Input, 16) $fileattrib = FileGetAttrib ($string) HotKeySet ("{enter}") ClipPut (@CRLF & "File has following attributes:" & $fileattrib & @CRLF) Send ("^v{enter}") HotKeySet ("{enter}", "read_func")= HotKeySet ("{enter}") Send (@CRLF & "shell:") $line = $line + 30 HotKeySet ("{enter}", "read_func") Else If $attribset Then $Comm=StringSplit($Input,"+") MsgBox(0,"",$Comm[0]) $Comm[0]=3 Then HotKeySet ("{enter}") Send (@CRLF & "Attrib set :" & $Comm[2]&" to: "&$Comm[3] & @CRLF & "shell:") FileSetAttrib($Comm[2],$Comm[3]) $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else HotKeySet ("{enter}") send (@CRLF & "Incorrect number of parameters in function call"& @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $diskfree Then df() HotKeySet ("{enter}") Send (@CRLF & "shell:") $line = $line + 6 HotKeySet ("{enter}", "read_func") EndIf If $kill Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 11) Send (@CRLF & "Killing " & $string & "...") $PID = ProcessExists ($string & ".exe") If $PID Then ProcessClose ($PID & ".exe") Send (@CRLF & "Shell:") $line = $line + 4 Else Send (@CRLF & "FATAL ERROR: could not find progress" & "..." & @CRLF & "Shell:") $line = $line + 6 EndIf HotKeySet ("{enter}", "read_func") Else If $tcmd Then HotKeySet ("{enter}") WinSetTrans ("Terminal", "", 128) Send (@CRLF & "Shell:") $line = $line + 4 HotKeySet ("{enter}", "read_func") Else If $transparent Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 18) Send (@CRLF & "transparent " & $string & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") WinSetTrans ($string, "", 128) If @error Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & "FATAL ERROR: could not find external window title" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $untrans Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 14) Send (@CRLF & "untransparent " & $string & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") WinSetTrans ($string, "", 255) If @error Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & "FATAL ERROR: could not find external window title" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $run Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & "running " & $string & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Run ($string) If @error Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & "FATAL ERROR: could not find external program" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $aptgetupdate Then Run(@ScriptDir&"\update.exe") Exit Else If $play Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 11) Send (@CRLF & "running " & $string & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") SoundPlay ($string) If @error Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & "FATAL ERROR: could not find external program" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $delfile Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 11) Send (@CRLF & "Deleting" & $string & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") FileDelete ($string) If @error Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 10) Send (@CRLF & "FATAL ERROR: could not delete file" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $soundvol Then HotKeySet ("{enter}") $string = StringTrimLeft ($Input, 15) SoundSetWaveVolume ($string) Send (@CRLF & "Volume has been set to : " & $string & "%" & @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else If $ip Then HotKeySet ("{enter}") Send (@CRLF & "Your IP address is :" & @IPAddress1 & @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else ;~ COPY If $filecopy Then $Comm=StringSplit($Input,"+") MsgBox(0,"",$Comm[0]) If $Comm[0]=3 Then HotKeySet ("{enter}") Send (@CRLF & "Copying :" & $Comm[2]&" to: "&$Comm[3] & @CRLF & "shell:") FileCopy($Comm[2],$Comm[3]) $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else HotKeySet ("{enter}") Send (@CRLF & "Incorrect number of parameters in function call"& @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf ;~ COPY#2 Else If $dircopy Then $Comm=StringSplit($Input,"+") MsgBox(0,"",$Comm[0]) If $Comm[0]=3 Then HotKeySet ("{enter}") Send (@CRLF & "Copying :" & $Comm[2]&" to: "&$Comm[3] & @CRLF & "shell:") DirCopy($Comm[2],$Comm[3]) $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else HotKeySet ("{enter}") Send (@CRLF & "Incorrect number of parameters in function call"& @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf Else If $filemove Then $Comm=StringSplit($Input,"+") MsgBox(0,"",$Comm[0]) If $Comm[0]=3 Then HotKeySet ("{enter}") Send (@CRLF & "Copying :" & $Comm[2]&" to: "&$Comm[3] & @CRLF & "shell:") FileMove($Comm[2],$Comm[3]) $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") Else HotKeySet ("{enter}") Send (@CRLF & "Incorrect number of parameters in function call"& @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf ;~ END COPY Else HotKeySet ("{enter}") Send (@CRLF & "'" & $command & "'" & "is not a valid command" & @CRLF & "shell:") $line = $line + 4 Sleep (100) HotKeySet ("{enter}", "read_func") EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndIf EndFunc ;==>read_func Func sys() HotKeySet ("{enter}") ;~ run("notepad") $VOL = DriveGetLabel ("C:\") $SERIAL = DriveGetSerial ("C:\") $TOTAL = DriveSpaceTotal ("C:\") $FREE = DriveSpaceFree ("C:\") $FS = DriveGetFileSystem ("C:\") ;~ WinWaitActive("Untitled - Notepad") ;~ WinSetTitle("Untitled - Notepad","","system") ClipPut (@CRLF & "monitor:") Send ("^v{enter}") ClipPut ("Ekraanilaius: " & @DesktopWidth) Send ("^v{enter}") ClipPut ("Ekraanik Link to comment Share on other sites More sharing options...
Blue_Drache Posted November 9, 2007 Share Posted November 9, 2007 Ick. Nested Ifs. That's probably your problem. It's hard to read, and confusing. Why are you using an else statement after all the checks? If it's false just go on to the next IF/THEN. There's no reason for all the Else statements. [autoit]#include <GUIConstants.au3> #include <GUIEdit.au3> HotKeySet("{enter}", "read_func") HotKeySet("^{NUMPADADD}", "IncreaseFont") HotKeySet("^{NUMPADSUB}", "DecreaseFont") ;~ HotKeySet ("^{mousewheelup}", "IncreaseFont") ;~ HotKeySet ("^{Mousewheeldown}", "DecreaseFont") #include <GUIConstants.au3> #include <GUIEdit.au3> $line = 1 $FontSize = 12 $Form1 = GUICreate("Terminal", 499, 274, 201, 116, BitOR($GUI_SS_DEFAULT_GUI, $WS_SIZEBOX)) $fsize = 10 GUISetCursor(7) $CommandInput = GUICtrlCreateEdit("", 0, 0, 497, 273, BitOR($ES_AUTOVSCROLL, $ES_AUTOHSCROLL, $ES_WANTRETURN, $WS_VSCROLL, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX)) GUICtrlSetData(-1, "shell:") GUICtrlSetFont(-1, $fsize, 500, 0, "Terminal") GUICtrlSetColor(-1, 0xFFFFFF) GUICtrlSetBkColor(-1, 0x000000) GUISetState() While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE Exit EndSwitch WEnd Func help() WinActivate("Terminal") Send("Type commands for help") EndFunc ;==>help Func read_func() $line = _GUICtrlEdit_GetLineCount ($CommandInput) - 1 $Input = _GUICtrlEdit_GetLine ($CommandInput, $line) $command = StringTrimLeft($Input, 6) $Say = StringInStr($command, "say") $Exit = StringInStr($command, "exit") $sysinfo = StringInStr($command, "sys") $ip = StringInStr($command, "ip") $ping = StringInStr($command, "ping") $run = StringInStr($command, "run") $play = StringInStr($command, "play") $kill = StringInStr($command, "kill") $delfile = StringInStr($command, "delfile") $soundvol = StringInStr($command, "soundvol") $diskfree = StringInStr($command, "diskfree") $tcmd = StringInStr($command, "tcmd") $transparent = StringInStr($command, "transparent") $untrans = StringInStr($command, "untrans") $aptgetupdate = StringInStr($command, "aptgetupdate") $FileCopy = StringInStr($command, "filecopy") $dirCopy = StringInStr($command, "dircopy") $filemove = StringInStr($command, "filemove") $commands = StringInStr($command, "commands") $attribget = StringInStr($command, "attribget") $attribset = StringInStr($command, "attribset") If $Say Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & $string & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf If $Exit Then Exit If $sysinfo Then sys() ;HERE'S THE FIX======== HotKeySet("{enter}") Send(@CRLF & "shell:") $line = $line + 30 HotKeySet("{enter}", "read_func") ;========================== EndIf If $commands Then commands() HotKeySet("{enter}") Send(@CRLF & "shell:") $line = $line + 30 HotKeySet("{enter}", "read_func") EndIf If $attribget Then $string = StringTrimLeft($Input, 16) $fileattrib = FileGetAttrib($string) HotKeySet("{enter}") ClipPut(@CRLF & "File has following attributes:" & $fileattrib & @CRLF) Send("^v{enter}") HotKeySet("{enter}", "read_func") HotKeySet("{enter}") Send(@CRLF & "shell:") $line = $line + 30 HotKeySet("{enter}", "read_func") EndIf If $attribset Then $Comm = StringSplit($Input, "+") MsgBox(0, "", $Comm[0]) $Comm[0] = 3 Then HotKeySet("{enter}") Send(@CRLF & "Attrib set :" & $Comm[2] & " to: " & $Comm[3] & @CRLF & "shell:") FileSetAttrib($Comm[2], $Comm[3]) $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") Else HotKeySet("{enter}") Send(@CRLF & "Incorrect number of parameters in function call" & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf If $diskfree Then df() HotKeySet("{enter}") Send(@CRLF & "shell:") $line = $line + 6 HotKeySet("{enter}", "read_func") EndIf If $kill Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 11) Send(@CRLF & "Killing " & $string & "...") $PID = ProcessExists($string & ".exe") If $PID Then ProcessClose($PID & ".exe") Send(@CRLF & "Shell:") $line = $line + 4 Else Send(@CRLF & "FATAL ERROR: could not find progress" & "..." & @CRLF & "Shell:") $line = $line + 6 EndIf HotKeySet("{enter}", "read_func") EndIf If $tcmd Then HotKeySet("{enter}") WinSetTrans("Terminal", "", 128) Send(@CRLF & "Shell:") $line = $line + 4 HotKeySet("{enter}", "read_func") EndIf If $transparent Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 18) Send(@CRLF & "transparent " & $string & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") WinSetTrans($string, "", 128) If @error Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & "FATAL ERROR: could not find external window title" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndIf If $untrans Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 14) Send(@CRLF & "untransparent " & $string & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") WinSetTrans($string, "", 255) If @error Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & "FATAL ERROR: could not find external window title" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndIf If $run Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & "running " & $string & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") Run($string) If @error Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & "FATAL ERROR: could not find external program" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndIf If $aptgetupdate Then Run(@ScriptDir & "\update.exe") Exit EndIf If $play Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 11) Send(@CRLF & "running " & $string & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") SoundPlay($string) If @error Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & "FATAL ERROR: could not find external program" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndIf If $delfile Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 11) Send(@CRLF & "Deleting" & $string & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") FileDelete($string) If @error Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 10) Send(@CRLF & "FATAL ERROR: could not delete file" & "..." & @CRLF & "Shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndIf If $soundvol Then HotKeySet("{enter}") $string = StringTrimLeft($Input, 15) SoundSetWaveVolume($string) Send(@CRLF & "Volume has been set to : " & $string & "%" & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf If $ip Then HotKeySet("{enter}") Send(@CRLF & "Your IP address is :" & @IPAddress1 & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf ;~ COPY If $FileCopy Then $Comm = StringSplit($Input, "+") MsgBox(0, "", $Comm[0]) If $Comm[0] = 3 Then HotKeySet("{enter}") Send(@CRLF & "Copying :" & $Comm[2] & " to: " & $Comm[3] & @CRLF & "shell:") FileCopy($Comm[2], $Comm[3]) $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") Else HotKeySet("{enter}") Send(@CRLF & "Incorrect number of parameters in function call" & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf ;~ COPY#2 EndIf If $dirCopy Then $Comm = StringSplit($Input, "+") MsgBox(0, "", $Comm[0]) If $Comm[0] = 3 Then HotKeySet("{enter}") Send(@CRLF & "Copying :" & $Comm[2] & " to: " & $Comm[3] & @CRLF & "shell:") DirCopy($Comm[2], $Comm[3]) $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") Else HotKeySet("{enter}") Send(@CRLF & "Incorrect number of parameters in function call" & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndIf If $filemove Then $Comm = StringSplit($Input, "+") MsgBox(0, "", $Comm[0]) If $Comm[0] = 3 Then HotKeySet("{enter}") Send(@CRLF & "Copying :" & $Comm[2] & " to: " & $Comm[3] & @CRLF & "shell:") FileMove($Comm[2], $Comm[3]) $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") Else HotKeySet("{enter}") Send(@CRLF & "Incorrect number of parameters in function call" & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf ;~ END COPY Else HotKeySet("{enter}") Send(@CRLF & "'" & $command & "'" & "is not a valid command" & @CRLF & "shell:") $line = $line + 4 Sleep(100) HotKeySet("{enter}", "read_func") EndIf EndFunc ;==>read_func Func sys() HotKeySet("{enter}") ;~ run("notepad") $VOL = DriveGetLabel("C:\") $SERIAL = DriveGetSerial("C:\") $TOTAL = DriveSpaceTotal("C:\") $FREE = DriveSpaceFree("C:\") $FS = DriveGetFileSystem("C:\") ;~ WinWaitActive("Untitled - Notepad") ;~ WinSetTitle("Untitled - Notepad","","system") ClipPut(@CRLF & "monitor:") Send("^v{enter}") ClipPut("Ekraanilaius: " & @DesktopWidth) Send("^v{enter}") ClipPut("Ekraanik Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now