Matlab doesn't see a file
古いコメントを表示
I am in the same directory, it collects it in a dir, but exist shows 0 and I can't open it.

2 件のコメント
Tom
2015 年 6 月 10 日
回答 (4 件)
Walter Roberson
2015 年 6 月 11 日
There could be non-printing characters in the name.
dinfo = dir('*.xlsx');
for K = 1 : length(dinfo)
thisfile = dinfo(K).name;
disp(thisfile); %as string
disp(thisfile + 0); %as bytes
r = exist(thisfile);
if r > 0
fprintf('File exists, type %d\n', r);
else
fprintf('File does not exist??\n');
end
end
Joseph Cheng
2015 年 6 月 10 日
編集済み: Joseph Cheng
2015 年 6 月 10 日
Thats because the file doesn't have a y at the end. Clearly the file shown using dir is
TEMPOgratingEfficienc.xlsx
and your exist is looking for TEMPOgratingEfficiency.xlsx
2 件のコメント
Tom
2015 年 6 月 10 日
Joseph Cheng
2015 年 6 月 10 日
I'd say update the picture to show both. I see the file now as it partially cut of under the TEMPOgratingEfficiency - Copy.xlsx. Are you able to put the full path such as
exist('c:\temporary\thefileimlookingat.xls')
Kelly Kearney
2015 年 6 月 10 日
0 投票
In your exist call, you refer to the file as TEMPOgratingEfficiency.xlsx, while the dir list shows TEMPOgratingEfficienc.xlsx. Note the missing y in the latter.
Image Analyst
2015 年 6 月 11 日
0 投票
Like the editor recommends, try using the 'file' option in exist(). And like Joseph said, update your screenshot. And attach the "invisible" file so we can check it on our computers.
カテゴリ
ヘルプ センター および File Exchange で File Operations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!