wazer Posted October 15, 2011 Share Posted October 15, 2011 Hello i want to read the reg, find value and make it the default install path for fileinstall, for all my folders and files, is it even possible? and IF not possible to add all files and folders will it be possible just to add one single file and still let it install with regread path? Here's some code im playing with. ;Finding files in scriptdir - Perhaps tmp dir is needed instead? $search = FileFindFirstFile("*.*") ;ModInstallPath Folder $modfolder = RegRead("HKEY_CURRENT_USER\Software\Valve\Steam", "ModInstallPath") ;source sdk base 2007 folder $source_sdk_folder = StringReplace($modfolder, "half-life", "\source sdk base 2007\platform\config") $b = True ;Reading reg path if not found, terminates script RegRead('HKEY_CURRENT_USER\Software\Valve\Steam','ModInstallPath') If @error = 1 Then Msgbox(0, 'Error', 'Key "ModInstallPath" was not found, please reinstall steam service again.') exit EndIf While 1 $file = FileFindNextFile($search) If @error Then ExitLoop wend ; Check if the search was successful If $search = -1 Then MsgBox(0, "Error", "No files/directories matched the search pattern") Exit EndIf ;Include all files and folders and install/extract them to $source_sdk_folder <- ie If $b = True Then FileInstall("$search", "$source_sdk_folder\*.*") EndIf ; Close the search handle FileClose($search) This is my first sample that i know is working well, but i dont want more files to lay around, just one single exe file, actually like a small installer This script read the files that are in the scriptdir and then reads the reg to make path and copy them there. ; Shows the filenames of all files in the current directory. $search = FileFindFirstFile("*.*") ;ModInstallPath Folder $modfolder = RegRead("HKEY_CURRENT_USER\Software\Valve\Steam", "ModInstallPath") ;source sdk base 2007 folder $source_sdk_folder = StringReplace($modfolder, "half-life", "\source sdk base 2007\platform\") ; Check if the search was successful If $search = -1 Then MsgBox(0, "Error", "No files/directories matched the search pattern") Exit EndIf While 1 $file = FileFindNextFile($search) If @error Then ExitLoop WEnd DirCreate($source_sdk_folder & "\config\") FileCopy(@ScriptDir & "",$source_sdk_folder & "\config") ; Close the search handle FileClose($search) Link to comment Share on other sites More sharing options...
BrewManNH Posted October 15, 2011 Share Posted October 15, 2011 You can't use FileInstall with a variable as the source, it has to point to a literal string to the file, full path or relative path doesn't matter, as long as it can be found by the string. Also, you shouldn't put quotes around your variables, then they become strings containing the variable names. 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 GudeHow 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 Link to comment Share on other sites More sharing options...
KaFu Posted October 15, 2011 Share Posted October 15, 2011 A workaround would be to fileinstall() the files to a temp dir and then move them afterwards. Another method I recently saw in the examples forum, jscripts OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2022-Nov-26) BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Feb-16) HMW - Hide my Windows (2018-Sep-16) HRC - HotKey Resolution Changer (2012-May-16) ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2023-Jun-03) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
wazer Posted October 15, 2011 Author Share Posted October 15, 2011 Thank you ill look into it A workaround would be to fileinstall() the files to a temp dir and then move them afterwards. Another method I recently saw in the examples forum, jscripts ?do=embed' frameborder='0' data-embedContent>You can't use FileInstall with a variable as the source, it has to point to a literal string to the file, full path or relative path doesn't matter, as long as it can be found by the string. Also, you shouldn't put quotes around your variables, then they become strings containing the variable names.A workaround would be to fileinstall() the files to a temp dir and then move them afterwards. Another method I recently saw in the examples forum, jscripts ?do=embed' frameborder='0' data-embedContent> Thanks for both answers!. I'll look into it now Link to comment Share on other sites More sharing options...
guinness Posted October 15, 2011 Share Posted October 15, 2011 I would also read the forum rules too. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
kaotkbliss Posted October 16, 2011 Share Posted October 16, 2011 Looks like he's trying to create a backup of installed mods for a game, nothing wrong with that. I would search the registry for the path to the modsuse filecopy to put them into a known paththen you can use fileinstall on the known path for the backup(much exactly like KaFu suggested) 010101000110100001101001011100110010000001101001011100110010000 001101101011110010010000001110011011010010110011100100001 My Android cat and mouse gamehttps://play.google.com/store/apps/details?id=com.KaosVisions.WhiskersNSqueek We're gonna need another Timmy! 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