priedols Posted April 29, 2019 Share Posted April 29, 2019 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% Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 29, 2019 Moderators Share Posted April 29, 2019 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 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 columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Exit Posted April 29, 2019 Share Posted April 29, 2019 (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 April 29, 2019 by Exit App: Au3toCmd UDF: _SingleScript() Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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. Link to comment Share on other sites More sharing options...
Nine Posted April 30, 2019 Share Posted April 30, 2019 23 hours ago, priedols said: SET PATH=%PATH%;%dirpath%System\bin;%path_to_perl% What do you mean, windows variable ? Is it an environment variable ? @Exit code is correct, based on your code. Exit 1 “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 I define path_to_perl in config.bat, so i want get it from config.bat Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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 Link to comment Share on other sites More sharing options...
Nine Posted April 30, 2019 Share Posted April 30, 2019 How do you define it in the config.bat file ? Show your code... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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 Link to comment Share on other sites More sharing options...
Nine Posted April 30, 2019 Share Posted April 30, 2019 So this is an environment variables, so what do you get when you do : MsgBox ($MB_SYSTEMMODAL,"",EnvGet("path_to_perl")) “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 1 minute ago, Nine said: So this is an environment variables, so what do you get when you do : MsgBox ($MB_SYSTEMMODAL,"",EnvGet("path_to_perl")) I got nothing Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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 Link to comment Share on other sites More sharing options...
Nine Posted April 30, 2019 Share Posted April 30, 2019 Ah, do the same in autoit script then or read config.bat file (FileRead) and parse the content to find the variables you need... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
Earthshine Posted April 30, 2019 Share Posted April 30, 2019 so how do you call the bat? are you passing in the path to perl? you could always look it up in the registry My resources are limited. You must ask the right questions Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 I want to read from .bat file becouse theese variables are for other files too. Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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") Link to comment Share on other sites More sharing options...
Earthshine Posted April 30, 2019 Share Posted April 30, 2019 (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 April 30, 2019 by Earthshine My resources are limited. You must ask the right questions Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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. Link to comment Share on other sites More sharing options...
Nine Posted April 30, 2019 Share Posted April 30, 2019 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... “They did not know it was impossible, so they did it” ― Mark Twain Spoiler Block all input without UAC Save/Retrieve Images to/from Text Monitor Management (VCP commands) Tool to search in text (au3) files Date Range Picker Virtual Desktop Manager Sudoku Game 2020 Overlapped Named Pipe IPC HotString 2.0 - Hot keys with string x64 Bitwise Operations Multi-keyboards HotKeySet Recursive Array Display Fast and simple WCD IPC Multiple Folders Selector Printer Manager GIF Animation (cached) Screen Scraping Multi-Threading Made Easy Link to comment Share on other sites More sharing options...
priedols Posted April 30, 2019 Author Share Posted April 30, 2019 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. 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