私はファイル名区切り文字を使用する文字を探しています(私は複数のファイル名を平文文字列に格納しています)。 Windowsがファイル名に:
、?
、*
、<
、>
、"
、|
、/
と\
を許可していないようです。明らかに、\
と/
は、パス内の何かを意味するため、使用できません。他の誰かが使用されるべきではない理由がありますか? /
または\
と同様に、他の許可されていない文字は、パス名に含まれていないと思われる特別な意味を持つ可能性があります。これらの他の7文字のうち、確実に安全であるか、またはこの目的のために使用するのは間違いなく危険ですか?コロン/アスタリスクをファイル名の区切り文字として使用しますか?
答えて
文字の:
と"
もパスに使用されます。コロンはドライブ単位の区切り文字で、スペースはフォルダまたはファイル名の一部である場合は引用符が使用されます。
*
と?
の文字は、ファイルを検索するときにワイルドカードとして使用されます。
文字の<
と>
は、アプリケーションの入出力をファイルにリダイレクトするために使用されます。
文字|
は、あるアプリケーションの出力を別のアプリケーションの入力に使用するために使用されます。
ファイル名を区切るためにパイプ文字を選択します。パスには使用されず、その形状は自然な分離品質を持っています。
代わりに、文字列にXMLを使用することもできます。オーバーヘッドがあり、エンコーディングが必要なキャラクタもありますが、どのキャラクタも処理できるという利点があり、フォーマットは自明であり、明確に定義されています。
'' 'はパスには使用できません。特殊文字を含むパスを囲む区切り文字ですが、パスの一部ではありません。 –
@Adrien:確かにそうです。 C:\ "Program Files" \ Adobeのようなパス内の要素やパス全体の要素のことです。 – Guffa
@guffa:私は主張しますが、そうではありません。ダブルクォートは、特殊文字をエスケープするための手段として使用されます。 Windowsシェルとコマンドプロンプトによって特別に解釈されますが、ファイル名の一部ではありません。コマンドプロンプトまたはWindows APIを使用して、名前に二重引用符が含まれるファイルを作成する方法を教えてください? –
実際に\
を除くすべての可能な文字でプログラムを使用してファイルを作成することは可能です。 (少なくとも、これは一度に当てはまり、その後Windowsがそのポリシーを変更した可能性があります)当然、特定の文字を含むファイルは他のものよりも扱いにくいでしょう。
Windowsで許可されている文字は何を決定するために使用しましたか?
更新:Windowsで許可されている文字のセットは、基礎となるファイルシステムなどによっても決定されます。これをより詳細に説明するblog entry on MSDNがあります。
Windowsエクスプローラでファイルの名前を変更しようとすると、そのリストが表示され、実行を停止します。私はちょうどそれが基本的なレベルでそれのようだと思った - しかしそうではないと言っているのですか? – Smashery
Explorerの下には多くのレイヤーがあります。 :)私はより多くの情報で私の答えを更新しました。 –
次のことはしない:ファイルを異なるフォークに分割する...名前:テキスト、名前:データなど?そして、あなたはWindows上でファイル名にどのようにスラッシュを入れますか?私はそれがスラッシュとバックスラッシュをシステムコールレベルで同等に扱うという錯覚のもとにいる。 –
デリミタとして‡(Alt + 0135)のようなALTキーを組み合わせたキャラクタは使用しないでください。
どのような文字コードですか? –
これはファイル名の合法的な文字なので、その理由からセパレータとして使用することはできません。 – MSalters
これまで私は*
を使用していました。 Linux/Unixへの移植性の理由。確かに、技術的にはそれらのファイルシステムでも使用できます。実際には、すべての一般的なOSはワイルドカードとしてそれを使用します。したがって、ファイル名ではまれです。また、*
をファイル名に入れると、プログラムが中断しても驚くことはありません。
Windowsでは、セミコロンをファイル名の区切り文字として使用します。;
。 PATH環境変数を見れば、パス要素間に;
が入っています。
(また、Pythonで、os.path.pathsep
戻り";"
、それはUnixで":"
に展開しながら)あなたが必要とするすべてのコロンの外観で、プログラム的にそれを作成する場合は
奇妙なことに、セミコロンでファイルを作成することができます。 – Smashery
それは奇妙ですが、それはそうです...%PATH%に ';'を含むパスを追加すると、追加されたパスは '' 'で囲まれます(これはパスでは許可されません)。ファイル名を '' 'で囲み、'; 'で区切ってファイル名を解決します。 –
ファイル名を '' 'で囲むと、コンマなどの区切り文字として他のほとんどの文字を使用できます。次に、共通のCSV読み込みルーチンを使用して文字列を配列に解析できます。 –
、なぜしませんただと見えるUTF-8文字の使用はコロンのようですか?
Modifier Letter(U + A789)は一般的なRTL文字であり、コロンのように見えます。 file_2017-05-04_16꞉45꞉22_clientNo.jpg
私はそれがLTR文字であるため、ヘブライ句読点Sof Pasuq(U + 05C3)のような文字から離れています。混乱する可能性があります。システムがファイル名自体をどのように整列させるか。
- 1. 区切り文字を区切り文字として使用
- 2. シェルで区切り文字として文字列を使用して文字列を切ります
- 3. 複数の区切り文字を使用した区切り
- 4. C - 他の区切り文字を使用して文字列を区切っていますか?
- 5. 区切りを使用してCSV引用文字列CSVファイルをPerlで区切ります。
- 6. パンダ:CSVファイルの区切り文字として全文を使用
- 7. 区切り文字を使用して区切り文字を分割し、別の表に挿入する
- 8. awkを使用して区切り文字を可変テキストで区切って区切り文字を区切ります。
- 9. 期間を桁区切り文字として使用
- 10. 文字区切り文字を使用した列の分割
- 11. 豚ラテン!区切り文字として
- 12. regexをJavaSparkContextでtextinputformat区切り文字として使用できますか?
- 13. Regexの区切り文字を使用して戻す
- 14. HDFSファイル内の区切り文字がHiveテーブルの区切り文字の値と一致しません
- 15. Import-Csvを使用して区切り文字を連続区切り文字として扱うことはできますか?
- 16. 区切り文字で区切り文字を区切り、改行して印刷する
- 17. カンマ区切りの文字列を使用して
- 18. strtokを使用してユーザー入力の区切り文字をスペースとして区切る方法
- 19. Paramertizedネイティブクエリ[カンマ区切りの文字列としてパラメータ](JPAを使用して)
- 20. ハイブ:データファイルの区切り文字として引用符を使用する
- 21. python pandas特殊文字を区切り文字として
- 22. 行終端文字としての段落区切り文字
- 23. ファイル名の区切り文字をテストするシェルスクリプト
- 24. std :: getline()の区切り文字として任意の文字を使用します。
- 25. 最初に文字列を分割し、部分文字列を使用して文字を区切ります。
- 26. PythonとPandas - 区切り文字としてchr(255)を使用する
- 27. JavaScriptを閉じて区切りで区切り、区切り文字を保持します
- 28. 指定した区切り文字を持つ区切り文字を
- 29. カンマ区切りの文字列を関数パラメータとして使用する
- 30. Javascript mongoDB用のカンマ区切りの文字列として保存します。
なぜ自分で問題を作成するのですか?ダッシュ " - "やドット "のような一般的なものを使ってください。" – ghostdog74
悪いニュースは:多くのUNIXシステムでは、ファイル名に許可されていない文字は "/"だけです。他のすべては有効です(シェルからシェルを隠すためにエスケープする必要があるかもしれませんが)。 –
UNIXパスでは '/'を使用できます(ただし、これを行うと、あなたはSatanです)。あなたが使用できない唯一のものはnullです。 – ratbum