Windows 7 では、ファイルの名前を 'aux.svg' に変更できません:「指定されたデバイス名は無効です」

Windows 7 では、ファイルの名前を 'aux.svg' に変更できません:「指定されたデバイス名は無効です」

私は Windows 7 x64 を使用しています。あなたのコンピューターでもこれを試すことができます。

任意のファイルを用意し、名前を「aux.svg」に変更してみてください。Windowsは次のように応答します。

指定されたデバイス名は無効です。

これを 2 台の異なるコンピューター (Win7 x64) で試してみましたが、結果は同じでした。
任意のファイルを使用できます。名前を 'aux.svg' に変更することはできません。Dropbox ではその名前のファイルはダウンロードされません。ダウンロード時にブラウザーが名前を '_aux.svg' に変更します。これは、試したどのディレクトリでも発生するようです。

ここで一体何が起こっているのでしょうか?

答え1

これはWindowsが禁止しているファイル名の1つです歴史的な理由私の知る限り、それを回避する方法はありません。

答え2

追加するにはalexandruの回答:

あなたできる ファイル名の解析をバイパスする次のようなパスを使用します。

\\?\C:\Users\Paperflyer\aux.svg

delコマンドプロンプトではrenameそのようなパスを受け入れます。しかし、ファイル名を変更するのは無意味です aux他のプログラムからはアクセスできないためです。

答え3

2年後のもう一つの追加事項:

任意の予約キーワードに名前を変更(および修正)することができます。シグウィンディレクトリの場合は、Windows 上の他のプログラムでその内容にアクセスできますが、ディレクトリ自体にはアクセスできません。

仮想マシンの共有フォルダでプログラムをコンパイルしているときに、この問題に遭遇しました。パッケージには、以前cygwinで抽出したauxという移動できないフォルダがありました。そのため、これを削除する唯一の方法は、シグウィンまた。

関連情報