I created an Autohotkey script to open the Anaconda Command Prompt. Such that when I press Ctrl+Numpad4
I will get an anaconda prompt opened up. If I press Ctrl+Shift+Numpad4
The anaconda prompt opens up as an admin. I followed the code instructions found in autohotkey forums; but this does not seem to work. Here's my code:
^Numpad4:: Run "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^NumpadLeft:: Run "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^+NumpadLeft::
RunAs, Administrator, #Mypassword
Run, "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
RunAs
^+Numpad4::
RunAs, Administrator, #MyPassword
Run, "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
RunAs
The numpad left and 4 are only to cover both possible cases with number lock on or off.
What should I do?
Also, there's another minor concern which is that anaconda opens up in the same directory as my autohotkey script. I would like it to open up at a prespecified directory. Can I do this from the autohotkey script itself. By creating a batch file or adding any additional snippet?
A few things:
run cmd
I could run it elevated by calling
Run *runas cmd
So the script at this point would look smthng like
^Numpad4:: Run "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^NumpadLeft:: Run "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^+NumpadLeft::Run *runas "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^+Numpad4::Run *runas "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
To address your second question, you can change what directory the script runs in by changing your working directory. For example, if you wanted to change your working directory to C:\Users, you would use
SetWorkingDir, C:\Users
Note: when using elevation, the working dir may change back to the User's default (for administrator: C:\WINDOWS\system32). To resolve this, you will likely need to pass additional parameters into your run command itself that will be specific to the program you are trying to run (in this case, Anaconda). I found this question that may resolve your Anaconda issue with a different method.
So, in summary, your script would look something like this:
SetWorkingDir, C:\Users ;replace this directory with the one that you actually want to use
^Numpad4:: Run "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^NumpadLeft:: Run "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^+NumpadLeft::Run *runas "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"
^+Numpad4::Run *runas "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda3 (64-bit)\Anaconda Prompt (Anaconda).lnk"