1. ホーム
  2. windows

[解決済み] WindowsとLinuxのディレクトリ名で禁止されている文字は何ですか?

2022-03-21 08:27:27

質問

私は、以下のことを知っています。 / はLinuxでは違法であり、Windowsでは以下が違法となります。 (たぶん) * . " / \ [ ] : ; | ,

他に足りないものはありますか?

しかし、私は包括的なガイドが必要であり、考慮されている。 全角文字 外部リソースへのリンクでも構いません。

まず、ファイルシステム上にディレクトリを作成する必要があります。 禁則文字が含まれているため、禁則文字に置き換える予定です。 アンダースコア このディレクトリとその内容をZIPファイルに書き出す必要があります。 (Javaを使用)そのため、zipディレクトリの名前に関する追加のアドバイスがあれば、教えてください。 をお願いします。

どのように解決するのですか?

Windowsでは、ファイル名だけでなく文字も予約されているため、ファイル名の禁止文字の「包括的なガイド」は機能しないでしょう。そうです、次のような文字があります。 * " ? などは禁止されていますが、有効な文字だけで構成された名前で禁止されているものは無数にあります。例えば、スペースとドットはファイル名として有効な文字ですが、これらの文字だけで構成された名前は禁止されています。

Windows は大文字と小文字を区別しないので、フォルダ名に A という名前のものがあれば a がすでに存在している。さらに悪いことに、一見許されそうな名前である PRNCON などが予約されており、許可されていません。また、Windowsには長さの制限があり、あるフォルダで有効なファイル名でも、他のフォルダに移動すると無効になる場合があります。のルールは ファイルやフォルダの命名 は、マイクロソフト社のドキュメントに記載されています。

一般に、Windowsのディレクトリ名の作成に、ユーザーが作成したテキストを使用することはできません。もし、ユーザーが好きな名前を付けられるようにしたい場合は、以下のような安全な名前を作成しなければなりません。 A , AB , A2 などで、ユーザーが作成した名前とそのパスに相当するものをアプリケーションデータファイルに保存し、アプリケーションでパスマッピングを行うことができます。

ユーザーが作成したフォルダ名をどうしても許可しなければならない場合、その名前が無効であるかどうかを判断する唯一の方法は、例外をキャッチして名前が無効であると仮定することです。アクセス拒否、オフラインドライブ、ドライブスペース不足の例外は、無効な名前の場合にスローされる例外と重複しているため、それさえも危険です。このような場合、大きな問題が発生する可能性があります。