goto --Lua-- =goto; io.stdout:seek("set",0) desc = [[ DESCRIPTION: print some registry environments COMMAND: regenv REMARKS: To redirect output to file use this syntax: WinNT/Win9x: %comspec%/c regenv > file.out WinNT: regenv > file.out ]] print("Registry Environments:") -- Prints some system environments -- Save to file via "regenv.bat > out.txt" commnad require"winreg" function regopen(k) return winreg.openkey(k) end _, hkey = pcall(regopen, [[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]]) if _ and hkey then print("Current User Shell folders:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end _, hkey = pcall(regopen, [[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders]]) if _ and hkey then print("All User Shell folders:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end _, hkey = pcall(regopen, [[HKEY_CURRENT_USER\Environment]]) if _ and hkey then print("Current User Environment:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end _, hkey = pcall(regopen, [[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment]]) if _ and hkey then print("System Environment:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end _, hkey = pcall(regopen, [[HKEY_CURRENT_USER\Volatile Environment]]) if _ and hkey then print("Volatile Environment:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end _, hkey = pcall(regopen, [[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths]]) if _ and hkey then print("Application paths:") for name in hkey:enumkey() do print("\t"..name.."="..(hkey:openkey(name):getvalue() or "")) end end _, hkey = pcall(regopen, [[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]]) if _ and hkey then print("Current User Startup programs:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end _, hkey = pcall(regopen, [[HKLM\Software\Microsoft\Windows\CurrentVersion\Run]]) if _ and hkey then print("System Startup programs:") for name in hkey:enumvalue() do print("\t"..name.."="..(hkey:getvalue(name) or "")) end end io.stdout:flush() --[[ :--Lua-- @echo off if "%OS%" == "Windows_NT" goto -winnt- set f=%0 if exist "%f%" goto -run- set f=%0.bat if exist "%f%" goto -run- for %%? in (%path%) do if exist "%%?\%0" set f=%%?\%0 if exist "%f%" goto -run- for %%? in (%path%) do if exist "%%?\%0.bat" set f=%%?\%0.bat :-run- lua "%f%" %1 %2 %3 %4 %5 %6 %7 %8 %9 goto -end- :-winnt- lua %~f0 %* :-end- ::]]