Load program from CMD

4 posts in this topic

#1 ·  Posted (edited)

I have a .ini file that holds my path for our mapping software. I can't seem to get the CMD function to read the file path. I removed everything but the file path but it doesn't work.

[ArcGIS Desktop]
Path=C:\Users\<user name>\AppData\Local\ESRI\Desktop10.1\Launcher.exe

Local Const $sFilePath = @ScriptDir & "\Mapping\Path\ " & "Path" & ".ini"
    Local $sFilewrite = IniWrite($sFilePath, "ArcGIS Desktop", "Path=", "C:\Users\aa2zz6\AppData\Local\ESRI\Desktop10.1\Launcher.exe")
    Func Start()
    $MyCommand = $sFilewrite
    Run(@ComSpec & " /c " & $MyCommand, @SystemDir, @SW_HIDE)
    EndFunc   ;==>Start


Edited by aa2zz6

Share this post

Link to post
Share on other sites


Share this post

Link to post
Share on other sites

#4 ·  Posted (edited)

Credit to MHz for creating the CMD part.

Creating the .ini file

;Create a constant variable in Local scope of the filepath that will be read/written to.
    Local Const $sFilePath = @ScriptDir & "\Mapping\" & "Config.ini"

    Local $sFilewrite = 'IGNORE_ERRORS=' & IniWrite($sFilePath, "settings", 'IGNORE_ERRORS', 1 &  @CRLF & 'Installer='&  $out)

$out is generated by another CMD process script that scans the hard drive in order to find the mapping software. But if you know the path won't change I would write it in like below.

;Create a constant variable in Local scope of the filepath that will be read/written to.
    Local Const $sFilePath = @ScriptDir & "\Mapping\" & "Config.ini"

    Local $sFilewrite = 'IGNORE_ERRORS=' & IniWrite($sFilePath, "settings", 'IGNORE_ERRORS', 1 &  @CRLF & 'Installer=' &  "C:\Users\aa2zz6\AppData\Local\ESRI\Desktop10.1\ArcGIS Desktop.exe")

.ini file will look like

Installer=C:\Users\aa2zz6\AppData\Local\ESRI\Desktop10.1\ArcGIS Desktop.exe

Reading file path to CMD

Global $Ignore, $Ini, $Installer, $Pid

; Ini Settings file
$Ini = @ScriptDir & "\Mapping\" & "Config.ini""
; Read Ini Setting: IGNORE_ERRORS=0 or IGNORE_ERRORS=1
$Ignore = 'IGNORE_ERRORS=' & IniRead($Ini, "Settings", "IGNORE_ERRORS", 0)
; Read Ini Setting: Installer to run later
$Installer = IniRead($Ini, "Settings", "Installer", "")

; If $Installer is something and $Installer exists, then run it.
If $Installer And FileExists($Installer) Then
    $Pid = Run('"' & @ComSpec & '" /c "' & $Installer & '" /v "' & $Ignore & '"', @ScriptDir, @SW_HIDE)
    ; Check if @error is set. (Use of Exit is optional as used for example)
    If @error Then Exit 1
    ; Wait for process to close
    ; Act on condition failure of $Installer
    If Not $Installer Then Exit 2
    If Not FileExists($Installer) Then Exit 3


Edited by aa2zz6
1 person likes this

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

  • Similar Content

    • Miliardsto
      By Miliardsto
      Hello. Im trying to make my scripts safe - unnable to decompile. I search for obfuscators and other security methods but the search has come to nothing.
      Then one guy gave that idea below. If I rightly understood this idea lets we talk about example program with this secutiy method.
      Program have two parts, first is only login gui and the second part is the main program Second part (main program) is uploaded on ftp server lets say that on http://xxx/autoit/main_program.au3 So we have the first gui with login, we put correctly login and pass and this is the moment when code from http://xxx/autoit/main_program.au3 will be downloaded and executed Finally main program will be appear This is the similiar way like new games are protected by cracking.
      I have few questions in this moment about this:
      Is something like that even possible to do with the autoit? First part of program (login gui) must have somewhere given that link to download the rest of code - http://xxx/autoit/main_program.au3 to make it execute. As we know this first part of program is easy able to hack and retrieve this web url http://xxx/autoit/main_program.au3 where located is main part of program. Is the way to encrypt or secure it? If only code will be stored in .php we know it cannot be previewed. So it could for example get code from .php file instead of .au3 I know that methods works in other languages (I dont know exactly how) thats becouse I only speculates, maybe something may looks different in these solution? Other way would be compiling second part of code on web server (there are available web autoit servers) maybe this way is possible? Tell me anything U know about this ideas and if its even possible to achieve.
      Thanks for ur any response, advice or thoughts

    • dubd83
      By dubd83
      I am trying to click on a tab within an SWT_Window0. The problem is autoit can not see the tab's text and there is no controlid. I have tried using commands to obtain a handle and text with no luck. Any ideas on how to get control of this tab?
    • Iznogoud
      By Iznogoud
      I am trying to find more information on generating PDF files from AutoIT and found the UDF topic 
      Also found some info on creating .FDF file and use PDFTK for merging, but i can't find info about a custom based layout.
      What i trying to find out is, if it is possible to generate a variable layout. For an example i created a script which is based out 20 fields and every field can contain information. If one of those fields are not filled, it shouldn't be printed on the PDF either.
      To make it more difficult, the PDF should contain a heading, the first 10 fields and then a horizontal line across the PDF and then a new heading and then show the last 10 fields.
      But only the fields which are filled.
      Is this possible?
    • PauloRodrigues
      By PauloRodrigues
      I need to select an item from a SAP combobox, could anyone help me or did something like that? I tried to use some AutoIt functions but without success.
      When i try to identify the combobox with au3Info, this is the return:

      Could anyone help me with this challange?
    • ur
      By ur
      Is there anyway to create a new database in Sybase or SAP ASE using AutoIT.