bobheart Posted June 21, 2004 Share Posted June 21, 2004 Run(@ComSpec & " /k REGEDIT /E %Temp% \Hotfixes.dat HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix > hotfix.txt") Won't print out the info ? Link to comment Share on other sites More sharing options...
emmanuel Posted June 21, 2004 Share Posted June 21, 2004 take out the space between %TEMP% and \hotfixes.dat "I'm not even supposed to be here today!" -Dante (Hicks) Link to comment Share on other sites More sharing options...
bobheart Posted June 21, 2004 Author Share Posted June 21, 2004 Still no worky ? Link to comment Share on other sites More sharing options...
bobheart Posted June 21, 2004 Author Share Posted June 21, 2004 Is there a better way then how i'm doing ? Link to comment Share on other sites More sharing options...
SlimShady Posted June 21, 2004 Share Posted June 21, 2004 (edited) Run(@ComSpec & " /k REGEDIT /E %Temp% \Hotfixes.dat HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix > hotfix.txt") Won't print out the info ?I don't know the syntax of that command (REGEDIT /E), so I can't guarantee this will work. PS. All in one line. Run(@ComSpec & ' /c REGEDIT /E %Temp%\Hotfixes.dat "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix" > "' & @ScriptDir & '\hotfix.txt"') Edited June 21, 2004 by SlimShady Link to comment Share on other sites More sharing options...
bobheart Posted June 21, 2004 Author Share Posted June 21, 2004 No that didn't work . I got this from a bat file so all post the file here so you can look at it . expandcollapse popup@ECHO OFF ECHO. :: Check command line parameter IF NOT "%1"=="" IF /I NOT "%1"=="/V" GOTO Syntax :: Check for correct Windows version IF NOT "%OS%"=="Windows_NT" GOTO Syntax :: Keep variables local SETLOCAL :: /V parameter set verbose display IF /I "%1"=="/V" SET Verbose=1 :: Gather info from the registry REGEDIT /E "%Temp%.\Hotfixes.dat" "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix" :: Display header ECHO Hotfixes installed on this PC: ECHO. :: Summarize all hotfixes gathered from registry FOR /F "tokens=7 delims=\" %%a IN ('TYPE "%Temp%.\Hotfixes.dat" ^| FIND "[HKEY_"') DO FOR /F "tokens=1 delims=]" %%A IN ('ECHO.%%a ^| FIND "]"') DO CALL :Summarize "%%A" :: Remove temporary file IF EXIST "%Temp%.\Hotfixes.dat" DEL "%Temp%.\Hotfixes.dat" :: Done ENDLOCAL GOTO:EOF :Summarize SETLOCAL SET Hotfix=%~1 :: No more details required IF NOT "%Verbose%"=="1" ( ECHO.%Hotfix% GOTO:EOF ) :: Gather more details from the registry REGEDIT /E "%Temp%.\Hotfixes.dat" "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\%~1" :: Retrieve the hotfix description from the temporary file we just created FOR /F "tokens=1* delims==" %%a IN ('TYPE "%Temp%.\Hotfixes.dat" ^| FIND /I "Fix Description"') DO SET Description=%%~b :: Escape brackets in the description, otherwise the ECHO command will fail IF DEFINED Description SET Description=%Description:(=^^^(% IF DEFINED Description SET Description=%Description:)=^^^)% :: The whitespace in the following line is a tab ECHO.%Hotfix% %Description% ENDLOCAL GOTO:EOF :Syntax ECHO Hotfixes.bat, Version 2.00 for Windows NT 4 / 2000 ECHO Displays a list of hotfixes installed locally ECHO. ECHO Usage: HOTFIXES [ /V ] ECHO. ECHO /V list both hotfix numbers and descriptions ECHO. GOTO:EOF Link to comment Share on other sites More sharing options...
emmanuel Posted June 21, 2004 Share Posted June 21, 2004 Is there a better way then how i'm doing ?I have no idea, I haven't played with exporting or importing the registry via command line. and of course, the registry editor helpfile doesn't mention it's own command line options... a quick google search... found this which shows that /e exports to a file... so the >hotfixes.txt wouldn't get anything passed to it, besides maybe a success or fail message from the app? I figure if I were to do what you're trying I'd do it like this: Run(@ComSpec & " /c REGEDIT /E %Temp%\Hotfixes.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix") I changed the /k to a /c because I don't want the CMD window hanging around, and the hotfixes.dat to hotfixes.txt, since I think what you're looking for would be there. You could also look into using RegEnumKey which is in the unstable build... "I'm not even supposed to be here today!" -Dante (Hicks) Link to comment Share on other sites More sharing options...
sugi Posted June 22, 2004 Share Posted June 22, 2004 This is from your batch file::: Gather info from the registry REGEDIT /E "%Temp%.\Hotfixes.dat" "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix" And this is from your AutoIt3 script:REGEDIT /E %Temp% \Hotfixes.dat HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix > hotfix.txt I notice 4 differences in these two lines and usually a difference in the command line results in a completely different meaning. 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