Instead of moving the script or the reg files around to get everything in @ScriptDir You are better of to use FileChangDir() #Include <File.au3> #Include <Array.au3> $sPath = "c:\somepath\containing\regfiles" FileChangeDir($sPath) $RegList = _FileListToArray($sPath, "*.reg", 1) If IsArray($RegList) Then For $i = 1 to $RegList[0] RunWait('regedit.exe' & ' /s' & ' "' & $RegList[$i] & '"') Next EndIf Also I can't remember if it's okay to put the "/s" switch after the file name or not (for RegEdit) but if it is then instead of RunWait() use ShellExecuteWait() ShellExecuteWait($RegList[$i], "/s")