Jump to content

Recommended Posts

Posted

Iam remaking .bat file to autoit

I have problems with windows variables

What is the best solution for theese code?

set dirpath=%~dp0
call "%dirpath%System\config.bat"


SET PATH_ORIG=%PATH%
SET PATH=%PATH%;%dirpath%System\bin;%path_to_perl%

 

  • Moderators
Posted

Moved to the appropriate forum, as the Developer General Discussion forum very clearly states:

Quote

General development and scripting discussions. If it's super geeky and you don't know where to put it - it's probably here.


Do not create AutoIt-related topics here, use the AutoIt General Help and Support or AutoIt Technical Discussion forums.

Moderation Team

Public_Domain.png.2d871819fcb9957cf44f4514551a2935.png Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind

Open spoiler to see my UDFs:

Spoiler

ArrayMultiColSort ---- Sort arrays on multiple columns
ChooseFileFolder ---- Single and multiple selections from specified path treeview listing
Date_Time_Convert -- Easily convert date/time formats, including the language used
ExtMsgBox --------- A highly customisable replacement for MsgBox
GUIExtender -------- Extend and retract multiple sections within a GUI
GUIFrame ---------- Subdivide GUIs into many adjustable frames
GUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView items
GUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeView
Marquee ----------- Scrolling tickertape GUIs
NoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxes
Notify ------------- Small notifications on the edge of the display
Scrollbars ----------Automatically sized scrollbars with a single command
StringSize ---------- Automatically size controls to fit text
Toast -------------- Small GUIs which pop out of the notification area

 

Posted (edited)
;~ set dirpath=%~dp0
$dirpath = @WorkingDir & "\"

;~ call "%dirpath%System\config.bat"
ShellExecuteWait($dirpath & "system\config.bat")

;~ SET PATH_ORIG=%PATH%
$PATH_ORIG = EnvGet("PATH")

;~ SET PATH=%PATH%;%dirpath%System\bin;%path_to_perl%
EnvSet("PATH", EnvGet("PATH") & ";" & $dirpath & "System\bin;" & EnvGet("path_to_perl"))

 

Edited by Exit

App: Au3toCmd              UDF: _SingleScript()                             

Posted

How I can read path_to_perl frpm config.bat file.

Path_to_perl is windows variable.

With just Envget("path_to_perl") it doesn't work.

 

Thx for making my code simpler.

Posted
7 minutes ago, Nine said:

What do you mean, windows variable ?  Is it an environment variable ?  @Exit code is correct, based on your code.

I define path_to_perl in config.bat, so i want get it from config.bat

Posted
Just now, Nine said:

How do you define it in the config.bat file ?  Show your code...

SET path_to_perl=%path_to_inpass%\System\perl\bin
 

This is written in config.bat

Posted
Just now, priedols said:

I got nothing

 

2 minutes ago, Nine said:

So this is an environment variables, so what do you get when you do :

MsgBox ($MB_SYSTEMMODAL,"",EnvGet("path_to_perl"))

 

 

In the begining of code i execute I run config.bat file, to get theese variables

Posted
2 minutes ago, Earthshine said:

so how do you call the bat? are you passing in the path to perl?

you could always look it up in the registry

EnvSet("dirpath", @ScriptDir)
ShellExecuteWait(EnvGet("dirpath") & "\System\config.bat")

Posted (edited)

give us all your code AND the batch file. tired of the guessing game. i would look up the perl path from registry. 

Edited by Earthshine

My resources are limited. You must ask the right questions

 

Posted
3 minutes ago, Earthshine said:

give us all your code AND the batch file. tired of the guessing game. i would look up the perl path from registry. 

I can't give all code.

Posted

The issue you have is that newly created environment variables are discarded at the end of the DOS session.  You can manually test it by starting a DOS session (cmd.exe) set a variable, exit, come back, and the variable you just created is not there anymore.  I believe it is the same with ShellExecuteWait ().  So the best solution would be (as I already told you) to read the config.bat file and parse it. Or like @Earthshine told you, read it from registry...

Posted
1 minute ago, Nine said:

The issue you have is that newly created environment variables are discarded at the end of the DOS session.  You can manually test it by starting a DOS session (cmd.exe) set a variable, exit, come back, and the variable you just created is not there anymore.  I believe it is the same with ShellExecuteWait ().  So the best solution would be (as I already told you) to read the config.bat file and parse it. Or like @Earthshine told you, read it from registry...

Ok, thx.

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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...