scansnapでスキャンしたデータの保存をするとき、タグ的な情報もファイル名に入れ、後の検索がしやすいようにしている。
勢い、ファイル名が長くなるのだが、その際、「文字数が220字を超えたため保存できません」という表示が出ることがある。
明らかに220字以下でもこの表示が出るため不思議に思っていた。
改めて調べて見ると、「ファイルパス名」という表現がReadmeファイルにある。
つまり、保存する場所、パス名も入れて220字以内と言うことなのだろう。
また、全角文字は2文字として数える、とある。これはまあ、当然と思っていた。
windows自体はどうかと調べて見ると、パス名を入れて260字までOKとのこと。また、この際の数え方として、全角でも半角でも260字でOK(つまり全角文字を2文字として数えずそのままの数でOK)とのことであった。
さらに、
ファイルやパスの文字列長と文字コードの問題 - マイクロソフト系技術情報 Wiki
では、下記のような記述があった。
- NTFSファイルシステムが32K文字までのパスをサポートしている。
- しかし、Windows APIは、後方互換性を重視するため、パス最大長がMAX_PATH環境変数で260文字に設定されている。(中略)
- Windows 10 Version 1607以降、MAX_PATHの制限を解除できる。
- レジストリ修正
- 若しくは、グループポリシー
それにしても、windowsも、ファイルにタグなど付けられるようになるとよいのだが。