fileattrib
Windowsでの Matlab の関数で奇妙な動作を発見しました。特定のファイル名を使用すると、ファイルが隠しシステム フォルダとして誤って識別されます。
テストするには、次のファイルをダウンロードします (ファイルは空です。重要なのはファイル名だけです)。
https://docs.google.com/file/d/0B9BeckFuQk1bNHY3T0NKaFpxbUU/edit?usp=sharing
ファイルを空のフォルダーに置き(「c:\ temp」を使用しています)、これを試してください:
fileattrib('c:\temp\*')
あなたの Matlab が私のようなものである場合、次の間違った結果が得られます。
ans =
Name: 'c:\temp\?aaa.txt'
archive: 1
system: 1
hidden: 1
directory: 1
[...]
ファイル名の最初の文字を削除して、もう一度やり直してください。正しく言うだろう
ans =
Name: 'c:\temp\aaa.txt'
archive: 1
system: 0
hidden: 0
directory: 0
[...]
この動作は、Windows Vista および 7 の Matlab R2010b および R2007a で確認されています。
問題は明らかに特定の「問題のある」文字 (または文字セット/エンコーディング?) に関係していますが、私にはわかりません。誰かがなぜこれが起こるのか理解できますか? そして、それを回避する方法は?
編集:
これは R2015a (おそらくそれ以前) で修正されたようです: 正しく戻ります
Name: 'C:\Users\Luis\Desktop\tmp\�aaa.txt'
archive: 1
system: 0
hidden: 0
directory: 0
[...]