Jump to content
Sign in to follow this  
mjoshi

Windows navigation using command line arguments

Recommended Posts

mjoshi

Hello Everyone,

So I have a little requirement, that user should pass 2 arguments to my script, and based on that parameter, my script should take the user to a specified windows location depending on arguments passed, if exists (This window location will be something like "Y:/manish/books/book_$PARAMETER1_$PARAMETER2"). Definately, this is a small requirement of a whole big section of work, on which I am currently working, and these two parameters play much more role ahead in my plans :oops: }

For this I have made a small script(which obviously is not working :bye: and also I didn't like my idea of using so many Send function in there, as I believe they are highly unreliable(past experience))

----------------------------------------------

$DataFile = "Y:/manish/books"
If NOT($CmdLine[0]) = 2 Then Exit MsgBox(16, "Error", "You have passed incorrect number of parameters, You should pass 2 parameters, the codestream name and build number")
MsgBox(64, "Passed Parameters", $CmdLine[0] & " parameters have been passed to this script:")
For $i = 1 To $CmdLine[0]
    MsgBox(64, "Passed Parameters", "Parameter " & $i & ": " & $CmdLine[$i])
Next
if $CmdLine[0] =2 Then
$b = $CmdLine[1]
$c = $CmdLine[2]
EndIf
Send("#d")
Sleep(1000)
Send("#e")
Sleep(1000)
Send("{TAB 2}")
Send("$DataFile")
Send("{ENTER}")

My question is do we have some reliable windows navigation function to acheive this?

and why this Send("$DataFile") is opening a new IE browser and taking me to http://$datafile path :doh: Is this the normal behaviour?

I hope someone from you will be able to finish reading this long post without sleeping ;)

Share this post


Link to post
Share on other sites
RobGuy

Unfortunately your Send("$DataFile") will send the literal string of characters "$DataFile" when it seems from your sample here that you would like it to say Send($DataFile) but it looks like you want to navigate the windows' explroer.exe to the path which could be accomplished rather more directly with either of these:

Opt("MustDeclareVars", 1)
Global $DataFile = 'C:\'
Run('explorer "' & $DataFile & '"')
ShellExecute($DataFile)

explorer.exe supports a handful of other commandline arguments besides just the path:

Opt("MustDeclareVars", 1)
;geneate a temporary file
FileWrite("c:\this_temporary_file_here.txt", "test")
;could create/append to the file with an old commandline for kicks if you wanted
Run('cmd /c echo temp>>c:\this_temporary_file_here.txt')
;open the explorer with that file selected by default
Run('explorer /select,c:\this_temporary_file_here.txt')

Share this post


Link to post
Share on other sites
BrewManNH

If all you want to do is open a file path, then you can do it much easier than sending keystrokes to the Windows Explorer window. Something like this might work better:

$DataFile = "Y:manishbooks"
 
Run("explorer.exe " & $DataFile)

If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.
Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag Gude
How to ask questions the smart way!

I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from.

Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays.  -  ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script.  -  Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label.  -  _FileGetProperty - Retrieve the properties of a file  -  SciTE Toolbar - A toolbar demo for use with the SciTE editor  -  GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI.  -   Latin Square password generator

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×