enigmafyv Posted June 13, 2007 Share Posted June 13, 2007 Because my words are all less than 4 characters, except for the word 'function', in my title, I'm not able to search for the question I have, so I'm posting, probably, a very common question. I'm writing a script, and keep in mind I'm a noob, that contains the AND function, however I'm not sure if I'm using it correctly. Could someone please verify whether I'm using it right? if FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") AND (@ProgramFilesDir & "\<folder>\<file.exe>") RunWait(@ProgramFilesDir & "\<folder>\<file.exe>") WinWaitActive("<Window Title>","") Send("<keystroke(s)>") WinWaitActive("<Window Title>","") Send("<keystroke(s)>") EndIf Link to comment Share on other sites More sharing options...
MrBeatnik Posted June 13, 2007 Share Posted June 13, 2007 (edited) AND is just an operator (http://www.autoitscript.com/autoit3/docs/intro/lang_operators.htm). Your code needs a little tweak: if FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") AND FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") Then *forgot the Then! Edited June 13, 2007 by MrBeatnik Please correct me if I am wrong in any of my posts. I like learning from my mistakes too. Link to comment Share on other sites More sharing options...
lev Posted June 13, 2007 Share Posted June 13, 2007 if FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") AND FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") RunWait(@ProgramFilesDir & "\<folder>\<file.exe>") WinWaitActive("<Window Title>","") Send("<keystroke(s)>") WinWaitActive("<Window Title>","") Send("<keystroke(s)>")EndIfshould be so Link to comment Share on other sites More sharing options...
Valuater Posted June 13, 2007 Share Posted June 13, 2007 (edited) ... If FileExists(@ProgramFilesDir & "\<folder1>\<file1.exe>") And FileExists(@ProgramFilesDir & "\<folder2>\<file2.exe>") Then ; added then Run(@ProgramFilesDir & "\<folder1>\<file1.exe>") ; changed from RunWait... waits till that prog ends before continuing script WinWaitActive("<Window Title>", "") Send("<keystroke(s)>") WinWaitActive("<Window Title>", "") Send("<keystroke(s)>") EndIf If FileExists(@ProgramFilesDir & "\<folder1>\<file1.exe>") Or FileExists(@ProgramFilesDir & "\<folder2>\<file2.exe>") Then If FileExists(@ProgramFilesDir & "\<folder1>\<file1.exe>") Then RunWait(@ProgramFilesDir & "\<folder1>\<file1.exe>") If FileExists(@ProgramFilesDir & "\<folder2>\<file2.exe>") Then RunWait(@ProgramFilesDir & "\<folder2>\<file2.exe>") EndIf 8) EDIT; second fileexists() Edited June 13, 2007 by Valuater Link to comment Share on other sites More sharing options...
enigmafyv Posted June 13, 2007 Author Share Posted June 13, 2007 Because my words are all less than 4 characters, except for the word 'function', in my title, I'm not able to search for the question I have, so I'm posting, probably, a very common question. I'm writing a script, and keep in mind I'm a noob, that contains the AND function, however I'm not sure if I'm using it correctly. Could someone please verify whether I'm using it right? if FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") AND (@ProgramFilesDir & "\<folder>\<file.exe>") RunWait(@ProgramFilesDir & "\<folder>\<file.exe>") WinWaitActive("<Window Title>","") Send("<keystroke(s)>") WinWaitActive("<Window Title>","") Send("<keystroke(s)>") EndIf OK, NM, I found out how it works. I just tested it. Man, why didn't I think of that before I posted the question. The correct way to do this, in case any other noobs are looking for the answer is: if FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") AND FileExists(@ProgramFilesDir & "\<folder>\<file.exe>") Then Notice I had to add the FileExists in front of the next param that I was looking for, and I know I entered this incorrectly before, but I had to add the Then function at the end of the line, which was already in my original code, I just forgot it here at the forums. Hope this helps anyone that needs help with this. Although I have a feeling I'm the only idiot that would post something like this since most people who use AutoIT have some programming experience and would test first and ask questions later. I just got too trigger happy! All the best... Link to comment Share on other sites More sharing options...
enigmafyv Posted June 13, 2007 Author Share Posted June 13, 2007 ... If FileExists(@ProgramFilesDir & "\<folder1>\<file1.exe>") And (@ProgramFilesDir & "\<folder2>\<file2.exe>") Then ; added then Run(@ProgramFilesDir & "\<folder1>\<file1.exe>") ; changed from RunWait... waits till that prog ends before continuing script WinWaitActive("<Window Title>", "") Send("<keystroke(s)>") WinWaitActive("<Window Title>", "") Send("<keystroke(s)>") EndIf If FileExists(@ProgramFilesDir & "\<folder1>\<file1.exe>") Or (@ProgramFilesDir & "\<folder2>\<file2.exe>") Then If FileExists(@ProgramFilesDir & "\<folder1>\<file1.exe>") Then RunWait(@ProgramFilesDir & "\<folder1>\<file1.exe>") If FileExists(@ProgramFilesDir & "\<folder2>\<file2.exe>") Then RunWait(@ProgramFilesDir & "\<folder2>\<file2.exe>") EndIf 8) I tried, initially, doing what you have here, without the FileExists in front of the second param, and I was getting a false positive because I would alter the <file2.exe> and it would still come back successful. I had to make sure that the FileExists was also added to the 2nd param and then I didn't get the false positives. But, hey, thanks for such a quick response. And I like the second approach as well, but it seems to add a bit of extra padding that could be accomplished by the first approach. Link to comment Share on other sites More sharing options...
enigmafyv Posted June 13, 2007 Author Share Posted June 13, 2007 Thank you all for being great sports and not ridiculing me for my ignorance, as well as replying so quickly. (MAN I LOVE THIS FORUM, IT'S FULL OF GREAT PEOPLE!) TTFN Link to comment Share on other sites More sharing options...
Valuater Posted June 13, 2007 Share Posted June 13, 2007 .. And I like the second approach as well, but it seems to add a bit of extra padding that could be accomplished by the first approach.please note the "RunWait" replaced by "Run" in the first If statementand how the "Or" ( demo as info for you ) used the "RunWait"take another look.... and Welcome8) 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