Code covered by the BSD License  

Highlights from
Close all figures except those listed

from Close all figures except those listed by Karl
Close all figures except those listed by the user.

cab(varargin)
function cab(varargin)

% This function closes all figures currently open EXCEPT for
% those listed as arguments.  'cab' stands for 'close all but'.
% 
% Usage:
%       cab figure_handle1 figure_handle2 ...
%       cab(figure_handle1, figure_handle2, ...)
%       cab('last') % or also:  cab last
%
%   - The 'last' option closes all figures except the last one opened.
%   - Calling 'cab' with no arguments is a convenient
%     alternative to 'close all'
%
% Example:
%   figure(5)
%   figure(7)
%   figure(9)
%   figure(11)
%   cab(7, 11)  % or also:  cab 7 11


% all_figs = findall(0, 'type', 'figure');  % Uncomment this to include ALL windows, including those with hidden handles (e.g. GUIs)
all_figs = findobj(0, 'type', 'figure');
figs2keep = [];
for i = 1:nargin
    if ischar(varargin{i})
        if strcmp(varargin{i}, 'last')
            figs2keep = all_figs(1);
            %figs2keep = gcf;
        else
            % In this case, function was called as follows:  cab 1 2 3
            figs2keep = [figs2keep, str2num(varargin{i})];
        end
    else
        % In this case, function was called as follows:  cab(1, 2, 3)
        figs2keep = [figs2keep, varargin{i}];
    end
end

delete(setdiff(all_figs, figs2keep))

Contact us at files@mathworks.com