for K = 1 : 2041
thisfile = sprintf('%d.txt', K);
if ~exist(thisfile, 'file'); continue; end
%file exists, process it
end
Or use dir() to find what does exist.
Note that if you use dir() and the file names do not have leading zeros for the one and two digit file names, then the order dir() returns will typically not be numeric. dir() does not define the order it returns files in, but typically the order is sorted by character value from left to right, so '1.txt' then '10.txt' because of how '0' sorts relative to '.'