Jump to content

Installed (System) Files Checker.hta


Recommended Posts

Installed Files Checker 4.8

(by Fredledingue)

Homepage - more infos

Direct download

Quickely check and compare files in the "Windows" folder, the "Program Files" folder, the root of "Drive C" and in folders of your choice (and their subfolders) to help you to track changes in your system.

This application is very useful and handy everytime you install or uninstall something. You can also do a check regularly without installing or uninstalling anything, for keeping a watch on your system or just for fun. ;)

It takes only a few seconds.

If something goes wrong you can always try to find out what has changed since it was all right.

See also:The W98 System Restore (or Back Up) Script Project

What's new?

4.8

-Fixed unability to check files when the DOS version is changed (w98) and the DIR command gives a different output.

-Improved: lower risk of false modified or missing/added couples in normal times thanks to the fix above.

-Added buttons "See Archives" and "Setings"

4.7

-Fixed: The folder being checked not properly showing

-Fixed: New bug where folders didn't open from their link in the results page (bug in "Escape" method)

4.6

-New: Support for Windows XP and other OSes using the same DOS version.

-New: Displaying system file versions (exe, dll etc) for added and modified files

-Improved: Slightly faster

-Improved: Option to shrink or expand table cells containing long names

-Improved: Style (color, table, font etc) and better html code

-Improved: Focus directly on the "comment" box

-Improved: Displaying the folder being checked when this one takes a long time to do

-Fixed: Potential mistakes when more than 50 files have been added or missing in the same folder

-Fixed: White space preceding file names when the hour in the file date is followed by "a" or "p" (very minor bug)

-Fixed: Main window hiding the taskbar when enlarged for viewing details

-Changed: Location of the program's registry entries

4.5b (silent update - no effect while using)

-Fixed minor bug with registry (ProgramFilesDir)

4.5

-Improved: Configuration panel now reads old settings if any.

-Improved: Use of registry (finished) and other minor things in the code.

-Fixed: Configuration panel showing an "Ok" dialog box instead of "Yes No".

-Fixed: Configuration panel not showing the Program Files folder

"We can do it fast... or we can do it realy fast!"

Edited by Fredledingue
Link to comment
Share on other sites


The batch has C:\WINDOWS for Windows directory.

Must not be hard-coded because not everybody has Win9x in C:\Windows [i don't].

The proper syntax is:

%windir%

if you plan to use the batch from within Windows UI, or:

%winbootdir%

if you plan to use the batch from native/true/pure MS-DOS mode [outside Windows UI].

The batch also uses C:\PROGRA~1 for "C:\Program Files" [commented out/remarked in your batch] = same here, must not be hard-coded, not everybody has that exact directory location. For example I have C:\PROGRAMS .

Proper syntax would be to use an INF file [example]:

[Version]
Signature=$CHICAGO$
[DefaultInstall]
CopyFiles=LST1
[LST1]
FILE1.TXT
FILE2.TXT
LIST1.TXT
LIST2.TXT
WHATEVER.???
[DestinationDirs]
LST1=28700
[SourceDisksNames]
1=,,0

which can be called from within the batch [example]:

START /W RUNDLL32 %windir%\SYSTEM\ADVPACK.DLL,LaunchINFSection WHATEVER.INF,DefaultInstall

The batch also has "set list=C:\MYDOCU~1\WHSCRIPT\CHECKS~1\WINF_B.TXT".

I don't have that directory, and I bet others don't either.

Proper syntax would be for example to use the %temp% variable instead:

set list=%temp%\WINF_B.TXT

Same goes for "set list=C:\MYDOCU~1\WHSCRIPT\CHECKS~1\FLIST1B.TXT" [commented out/remarked in your batch].

HTH

Edited by MDGx
Link to comment
Share on other sites

Ha, you'r right. :blushing:

I re-edited the batch file and it should work now. (download here)

I replaced "C:\WINDOWS" with "%windir%".

(I don't plan to run the batch from outside windows)

Also replaced "set list=C:\MYDOCU~1\WHSCRIPT\CHECKS~1\WINF_B.TXT"

with simply "set list=WINF_B.TXT"

(The full path is not needed, I think, because the bat and the vbs work inside the same directory)

The batch also uses C:\PROGRA~1 for "C:\Program Files" [commented out/remarked in your batch] = same here, must not be hard-coded, not everybody has that exact directory location. For example I have C:\PROGRAMS .

Proper syntax would be to use an INF file [example]:

I'm never learned inf coding... There is no equivalent of %windir% for the Program File folder?

Anyway I think I could find workarounds such as asking the user where is the program file the first time he uses the program.

Even better: asking the user all the other folders he wants to scan.

...

For the time being we will stick with the windir.

I noticed that the list created by the batch file is not the same in XP as that in w98 so bear in mind that's for for w98 (and OS with similar DOC handling) only.

But it shouldn't be difficult to make an XP version in the nearest future.

Thanks for your comments and help.

Edited by Fredledingue
Link to comment
Share on other sites

Nice to read that's working!

1 thing though can you write a code so we don't have to use the bat.file

What do mean? About closing the window? There should be a trick to do that automaticaly on exit, but for some reason it doesn't work.

I could try a pure VBS solution to browse through the entire directory and subdirectories but I doubt very much it will be as fat as DOS. There is no such a thing as "dir /s" in VBS. that' very stupid.

I'll see.

Now I will work on a script for checking the program files and other folders of your choice, beside the windows folder.

Link to comment
Share on other sites

Your batch works ok now.

There is not equivalent for batch files [DOS mode] for "C:\Program Files" set %variable% location in 9x OSes.

Only NTx OSes have that feature.

The only way is to write an INF or REG file which can be called from within a batch.

REG file also works, but the INF method is more elegant and more flexible.

You should consider adding DOS/Windows mode detection if you plan to use this only for Windows 9x UI mode.

Examples:

-------snip-------

IF "%OS%"=="Windows_NT" GOTO END

IF "%windir%"=="" GOTO END

IF "%winbootdir%"=="" GOTO END

MEM /C | FIND /I "vmm32">NUL

IF ERRORLEVEL 1 GOTO END

whatever...

:END

CLS

EXIT

-------snip-------

Replace the "exit" line at the end of your batch with:

CLS

EXIT

Make sure there is no space or blank/invisible characters/tabs after CLS or EXIT [the way it is now].

That should close the batch automatically upon completion.

FYI:

The CLS + EXIT method works only if the batch starts with:

@ECHO OFF

as 1st line.

And you can remove these lines after you add the CLS + EXIT lines:

echo -------------------------------------

echo PLEASE CLOSE THIS WINDOW TO CONTINUE.

echo -------------------------------------

HTH

BTW:

I noticed on the PC I already tried your tool on [1.4 GHz P3 + 512 MB RAM] that it is very slow to create the list.

Is there a way to streamline/optimize/tweak the VBS file to make it faster?

Or have you considered using a batch to do this instead?

Thanks.

Edited by MDGx
Link to comment
Share on other sites

MDGx,

Thanks for the codes, I will try them. B)

BTW:

I noticed on the PC I already tried your tool on [1.4 GHz P3 + 512 MB RAM] that it is very slow to create the list.

Is there a way to streamline/optimize/tweak the VBS file to make it faster?

Or have you considered using a batch to do this instead?

Thanks.

If by "your tool" you mean my system files checker (other tools on my sites are indeed slow sometimes): the VBS file does NOT make the list of the files in the windows directory. That's the role of the batch file.

But this batch file is launched via the VBS script so you should NEVER use the batch file yourself!

The VBS is only comparing the previous list with the new one. Normaly the comparison process should take a few seconds, maybe up to ten seconds if you made MASSIVE changes in your system before. And I don't think you will ever wait that long...unless there is an error in the vb script. ---> :realmad:

Please check if the result given by the script is consistant with the reality.

In case of programing error on my part, the list of changes may be much longer than it should.

I of course ran many tests myself but ther might be some cases I didn't think of.

You can also e-mail me WINF_A and B and I will run the test myself.

I will post a debug version if needed.

Now if it's the DOS prompt window that stays abnormaly long without responding, it's a DOS issue not VBS.

VBS doesn't interfere in this process.

On my 1.8hz PC it takes 10 or 15 second to do the WINF_A list.

Or you have a very slow and very fragmented HD... coming from you that would be surprising. :wacko:

So I need to know if it's slow during the DOS promt or after you closed it.

Please give as many details as possible on what happends.

Thanks.

Edited by Fredledingue
Link to comment
Share on other sites

Yes, I was talking about your list_files_in_text.bat file, part of your SFC script:

http://www.geocities.com/fredledingo/check_system.zip

The long delay was happening no matter which file [VBS or BAT] I was running.

But I found why your batch was taking so long to create the files list [actually it got stuck at the 1st screen], because I have this line in my autoexec.bat:

SET DIRCMD=/A/O:GEN/P/V

which prompts the user to press a key to display the next screen. Otherwise the DIR command waits for input without moving on. :(

This SET variable adds the /P switch anytime a DIR command is run, even from within batch files.

So in your batch you need to add the /-P switch [allows moving on to next screen without any user input] on all DIR lines to prevent this from happening [example]:

dir %windir% /O:GN /S /-P >> %list%

dir %windir% /O:GN /A:S /S /-P >> %list%

dir %windir% /O:GN /A:H /S /-P >> %list%

This way the entire script took only a split second on my PC. ;)

But I also added a CLS line b4 the EXIT line at the end, so the batch can close automatically.

Good job, your script works now.

HTH

P.S.:

I know there is a way to place set variables in VB scripts, but I don't have any experience with VB, so I don't know the code.

Edited by MDGx
Link to comment
Share on other sites

The new, first full version, is out!

History:

0.6

-Uncomplete test release

0.7

-First complete release

-Renamed to "Installed Files Checker" to avoid confusion with "System File Checker".

-Scan the root of drive C, the Windows folder, the Program Files folder and also folders of your choice.

-Added ifc_config.vbs

-Improved interface and other bug fixes

Test this version in an empty folder if you already tested checksystem6.

MDGx

because I have this line in my autoexec.bat:

SET DIRCMD=/A/O:GEN/P/V

Yeah, I knew that you geeks always have something special in your PC... :lol:

I still didn't add the /-P thing in the bat file but it's a matter of day. It's because the PC I'm doind scripts on is not going properly on the internet and I forgot what to add exactely.

If you are not afraid you can add the code yourself in ifc_config.vbs or in the bat file after running checksystem7.

You will notice that there is no batch file in the distro: it's created by ifc_config.vbs

I was wrong: there is no way to find out the program files folder in VBS: The folder this idi0t refers to is the Start/Program (shortcuts) folder. :realmad:

So I build some workaroud instead. :unsure:

Anyway the only file you have to doubleclick on is checksystem9.vbs.

Have fun! :thumbup

Edited by Fredledingue
Link to comment
Share on other sites

I have tried your newest version:

http://www.geocities.com/fredledingo/Insta...les_Checker.zip

When I run checksystem7.vbs it just exits without doing anything.

When I run the other VBS file [ifc_config.vbs], it creates the IFC.BAT file and then exits.

I had to add /-P to all DIR lines to make IFC.BAT work.

I also had to add CLS + EXIT lines at the end to force it to close automatically.

This is the modified IFC.BAT that works properly on my computer:

@echo off
echo Creating list of your System files.
echo This may take 1 - 2 minutes.
echo.
echo Creating list of your C root files.
echo Please wait...
set list=WINF_B.TXT
dir C:\ /O:GN /-P>> %list%
dir C:\ /O:GN /A:S /-P>> %list%
dir C:\ /O:GN /A:H /-P>> %list%
echo Creating list of your Windows files.
echo Please wait...
dir %windir% /O:GN /S /-P>> %list%
dir %windir% /O:GN /A:S /S /-P>> %list%
dir %windir% /O:GN /A:H /S /-P>> %list%
echo Creating list of your Program files.
echo Please wait a bit longer...
dir C:\PROGRAMS /O:GN /S /-P>> %list%
dir C:\PROGRAMS /O:GN /A:S /S /-P>> %list%
dir C:\PROGRAMS /O:GN /A:H /S /-P>> %list%
CLS
EXIT

Please note that my "C:\Program Files" folder is actually called "C:\PROGRAMS" [another geek tweak ;)].

HTH

Link to comment
Share on other sites

MDGx

I told you that "/-p" was still not implemented in the version 0.7.

Now it is :rolleyes: (as a silent update). If you download the zip file again, it should work.

When I run checksystem7.vbs it just exits without doing anything.
That's not possible: It should either pop up a message box written by me (in this case tell me what it reads before it exits without-doing-anything) or an error (then tell me the line where the error is).

Remember to use any new version in a new empty folder.

When I run the other VBS file [ifc_config.vbs], it creates the IFC.BAT file and then exits.

That's normal.

Please note that my "C:\Program Files" folder is actually called "C:\PROGRAMS"

Check the bat file: It should be that UNLESS you have also another folder called "C:\Program Files". In this case you should normaly see that he detected it and you can act accordingly.

...and

cls

exit

should be found (in lowercase) at the end of the batch file.

Edited by Fredledingue
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...