私の問題は、Windows ベースの OS で、\ / : * ? " < > | などの特殊文字を含むフォルダーまたはファイルの名前を付けることができないことです。この種類の文字を含むファイル/フォルダーの名前を付けることは、私にとって非常に重要です。
私はすでにこの問題について多くのサイトを検索して参照しましたが、すべて絶望的でした。Microsoftのサポートページも読みましたが、他の文字を使用することを推奨しています。これはそのリンクです。https://support.microsoft.com/ja-jp/kb/177506 より
私はすでに、このタイプの特殊文字の Alt ボタン + ASCII コード番号、テンキー キーを試しました。たとえば、ファイル/フォルダーの名前を変更して、Alt+60 (< 文字) を押しました。それでも、「ファイル名に次の文字を含めることはできません: \ / : * ? " < > |」というメッセージが表示されます。
このタイプの特殊文字を使用してファイル/フォルダーに名前を付けることができる適切な解決策を提案してください。
答え1
これらの文字を含むファイル/フォルダーの命名は私にとって非常に重要です。
それはあなたにとって重要かもしれませんが、これを手放して、問題を解決する別の方法を見つける必要があります。
これらの文字は、ファイル名を処理する Windows OS 関数呼び出しでは許可されません。
これらは別の用途があるため、特に許可されません。
- \- パス区切り文字として使用するために予約されており、逃げるキャラクター
- /- パス区切り文字として使用するために予約されています
- :- ドライブ名の区切り文字として使用するために予約されています
- *そして?- 使用のために予約されていますワイルドカード文字
- "- 使用目的に応じて予約引用スペースを含む名前
- <, >および|- コマンドとして使用するために予約されていますリダイレクションオペレーター
もちろん、別のオペレーティング システムを使用して、これらの文字を含む名前のファイルを作成することもできます (そのオペレーティング システムが Windows ファイル システムの読み取り/書き込みが可能である限り)。
ただし、Windows プログラムを使用してこれらのファイルに対して何も実行できず、ファイル名が認識されず、エラーが発生します。
ファイル、パス、名前空間の命名
命名規則
次の基本ルールにより、アプリケーションはファイル システムに関係なく、ファイルとディレクトリの有効な名前を作成して処理できるようになります。
...
名前には、現在のコード ページ内の任意の文字 (Unicode 文字および拡張文字セット (128 ~ 255) 内の文字を含む) を使用できますが、次の文字は除きます。
次の予約文字:
< (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
- 整数値ゼロ。ASCII NUL 文字と呼ばれることもあります。
- 整数表現が 1 ~ 31 の範囲にある文字 (これらの文字が許可される代替データ ストリームを除く)。ファイル ストリームの詳細については、「ファイル ストリーム」を参照してください。
- ターゲット ファイル システムで許可されないその他の文字。
でも、とにかくこれをやりたいんです。
インストールシグウィンを使用しますtouch
。
すべての可能性をテストしたわけではありませんが、次の方法は機能します。
touch :
touch \|
touch \"
touch \>
出力例:
DavidPostill@Hal /f/test/impossible
$ ll
total 0
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:03 '"'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 :
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:02 '|'
-rw-rw-rw-+ 1 DavidPostill None 0 Aug 10 21:07 '>'
ご覧のとおり、これらは Windows では使用できません。
F:\test\impossible>dir
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\impossible
10/08/2016 21:07 <DIR> .
10/08/2016 21:07 <DIR> ..
10/08/2016 21:03 0
10/08/2016 21:02 0
10/08/2016 21:07 0
10/08/2016 21:02 0
4 File(s) 0 bytes
2 Dir(s) 1,772,601,536,512 bytes free
答え2
独自のフォント セットを構築します。使用しない文字の一部を、予約文字の画像に置き換えます。
答え3
Windows では、これらの文字を含むファイルを作成することはできません。解決策はありません。これらの文字は Win32 API によって禁止されています。
Win32 は POSIX 名前空間のサブセットであり、大文字と小文字を区別しません。次の文字を除くすべての Unicode 文字を使用します: '"' '*' '/' ':' '<' '>' '?' '\' '|' 注: 名前はドット '.' またはスペース '' で終わることはできません。
--http://dubeyko.com/development/FileSystems/NTFS/ntfsdoc.pdf