Well, an .exe file is IMO a program and/or a compressed file.
So I would have said "list all .exe files on a drive, excluding
sfx of any kind."
Ok, I think I have it straight now. You want a list of each ".exe
file" on a drive that executes a program, but not those that execute
self extraction routines that uncompress files stored in a sfx?
Correct?
It sounds like the above is a good start to solving my query. I don't
however know enough about batch files to adapt the program to do
what I asked for.
Maybe the OP knows enough about programming to create a batch file
and/or GUI to make things work ? If not then hopefully we have a
programmer here with the required expertise.
I'm pretty rusty in batch myself. I emailed a guy in alt.msdos.batch,
as he seems to enjoy solving such a problem in tutorial form, but I
haven't heard back yet. He would be able to write a professional batch
file that would use the utility, along with correct batch syntax for
Win98-ME, or 2000-XP, depending on what OS the user was using.
I'll be lucky if I can hack it out for XP. I'm going to give it a try
though, and possibly anyone else here that wants to.
It's pretty easy to obtain a text list of all .exe files on a drive:
dir /b /s c:\*.exe > exe.txt
This returns a list with the full file path for each .exe, but they
are in long file name format, which means they will need to be placed
within parenthesis.
C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\AcroRd32.exe
C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\AcroRd32Info.exe
C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\AdobeUpdateManager.exe
C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\reader_sl.exe
C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\Updater\acroaum.exe
Feat 1: To use in a batch file these paths need to be enclosed in
parenthesis, due to spaces within some of the long file paths. This is
a batch requirement:
"C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\AcroRd32.exe"
"C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\AcroRd32Info.exe"
"C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\AdobeUpdateManager.exe"
"C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\reader_sl.exe"
"C:\PROGRA~1\Adobe\Acrobat 7.0\Reader\Updater\acroaum.exe"
It's probably easier for me to do this in C++, but I'll bet there is a
way to do it in batch too.
Feat 2: After the list is prepared a bat file needs to call the
resulting text file as input, with looping, reading one line from this
list in at a time and passing it as a parameter to the utility. If the
file is identified as a sfx, there is no further action taken. If the
file is not identified as any compressed .exe, then a line in the
report needs to be written with the path.
I'm going to play with this and see what I can do. If anyone is more
experienced in batch, why not have a go at it also?