这是一位高手教的:
用dir来实现,不过你的程序有问题的,注意看注释
r = dir('D:\1\');
mkdir D:\2\; %如果目录不存在就不能用imwrite,所以显现建立目录
for i = 3 : length(r)
t = length(r(i).name);
if t>3 && strcmp(r(i).name(t-3:t),'.bmp')
%这个if语句是检查是否为bmp文件
A = imread(strcat('D:\1\',r(i).name));
%A的文件名必须符合matlab的要求,不然可能出错,像你那个1.bmp是不行的
B = rgb2gray(A);
imshow(B);
pause(1); %等1秒,保证imshow的图能看到
imwrite(B,strcat('D:\2\',r(i).name));
end
end