123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- function varargout = spm_rmpath(d)
- % Recursively removes SPM paths from the MATLAB path
- % SPM_RMPATH checks if the file spm.m is found and removes the
- % path to that file and any subdirectories below it from the MATLAB
- % path.
- %
- % P = SPM_RMPATH performs the same function as above and returns the
- % cleaned path string in P.
- %
- % SPM_RMPATH(D) strips the path string D from the MATLAB path.
- %
- % P = SPM_RMPATH(D) strips the path string D from the MATLAB path and
- % returns the cleaned path string in P.
- %
- % See also PATH, ADDPATH, RMPATH, GENPATH, PATHTOOL, SAVEPATH.
- %__________________________________________________________________________
- % Copyright (C) 2008 Wellcome Trust Centre for Neuroimaging
- % Darren Gitelman & Guillaume Flandin
- % $Id: spm_rmpath.m 4025 2010-07-29 11:10:15Z guillaume $
- varargout = {};
- if ~nargin
- % Get the actual SPM directory
- try, d = spm('dir');
- catch, return; end
- end
- % Recursively remove directories in the MATLAB path
- p = textscan(path,'%s','delimiter',pathsep); p = p{1};
- i = strncmp(d,p,length(d)); P = p(i); p(i) = [];
- if ~nargin && ~isempty(P)
- fprintf('Removed %s paths starting from base path: "%s"\n',spm('ver','',1),d);
- elseif ~isempty(P)
- fprintf('Removed paths starting from base path: "%s" from:\n',d);
- else
- fprintf('No matching path strings found to remove\n')
- end
- if numel(P), fprintf('\t%s\n',P{:}); end
- % Set the new MATLAB path
- p = strcat(p,pathsep);
- path(strcat(p{:}));
- % Return the cleaned path if requested
- if nargout
- varargout{1} = p;
- end
|