Right-button Command to Remove Extra VS Files


This article was contributed by
Ed.

Environment: NT, will work on 9x with modification.

You’ll notice that in most of the .zip files you download with
code from sites like codeguru include a .ncb file.

This is where Visual Studio stores its state information; stuff like what
files you have open. Most of the time, the rest of the world isn’t
interested! And most of the time, the .zip files are up to
50% smaller without them!

Rather than having to remember to go through your project directory and
clean it manually for release, why not right-click the folder and make your
computer do the hard work?

This is a self-extracting batch file that adds two commands to the
right-click menu for folders in the Windows shell. It’s been written and
tested under Windows 2000. You’ll need to run it as Administrator. It
creates (program files)\folder-clean, puts in two batch files, and adds the
necessary registry keys to enable it.

The two commands are:

For release leave exe

This will recursively search the directory and delete all intermediate files
ending with these extensions:

    (unnecessary Visual Studio files)

  • aps
  • clw
  • ncb
  • opt
  • plg

    (intermediate files)

  • obj
  • pch
  • exp
  • sbr
  • bsc
  • ilk
  • lib
  • pdb
  • res
  • idb

    (executable and DLL files are not removed)

For release clean

This will recursively search the directory and delete all intermediate and
executable files. This will remove files ending with the extensions given
above, plus these extensions:

    (executable and DLL files)

  • exe
  • dll

Be aware that when it runs, a DOS box will flash up. This is normal.

Here is the source code of the installer/self-extractor:


@echo off
rem only tested on NT 5
set instdir=%ProgramFiles%\folder-clean

set regfile=%TEMP%\fclean.reg
set reginstdir=%instdir:\=\\%

echo Windows Registry Editor Version 5.00 >%regfile%
echo [HKEY_CLASSES_ROOT\Directory\shell\For release clean\command]
>>%regfile%
echo @=”\”%reginstdir%\\clnrmexe.bat\” \”%%1\”” >>%regfile%
echo [HKEY_CLASSES_ROOT\Directory\shell\For release leave exe\command]
>>%regfile%
echo @=”\”%reginstdir%\\cleanrel.bat\” \”%%1\”” >>%regfile%

set filename1=%TEMP%\cleanrel.bat
set filename2=%TEMP%\clnrmexe.bat
rem vstudio files
echo del /s %%1\*.aps >%filename1%
echo del /s %%1\*.clw >>%filename1%
echo del /s %%1\*.ncb >>%filename1%
echo del /s %%1\*.opt >>%filename1%
echo del /s %%1\*.plg >>%filename1%
rem intermediate files
echo del /s %%1\*.obj >>%filename1%
echo del /s %%1\*.pch >>%filename1%
echo del /s %%1\*.exp >>%filename1%
echo del /s %%1\*.sbr >>%filename1%
echo del /s %%1\*.bsc >>%filename1%
echo del /s %%1\*.ilk >>%filename1%
echo del /s %%1\*.lib >>%filename1%
echo del /s %%1\*.pdb >>%filename1%
echo del /s %%1\*.res >>%filename1%
echo del /s %%1\*.idb >>%filename1%

rem exe etc
copy %filename1% %filename2%
echo del /s %%1\*.exe >>%filename2%
echo del /s %%1\*.dll >>%filename2%
echo del /s %%1\*.hlp >>%filename2%

mkdir “%instdir%”
copy %filename1% “%instdir%”
copy %filename2% “%instdir%”
%regfile%

del %filename1%
del %filename2%
del %regfile%

Downloads

Download source – 1.45 Kb

CODEGURU CAUTION: This utility DELETES files

More by Author

Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends & analysis

Must Read