Windowsでフォルダーまたはファイルに「CON」という名前を付けられないのはなぜですか?


30

Windowsのすべてのバージョンでは、CONサードパーティのファイル名変更ソフトウェアがないため、ファイルまたはフォルダー名を変更できません。Windows 7でこれを実行しようとすると、エラーが発生します。

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

con.txtメモ帳でファイルを保存しようとすると、同様のエラーが発生します。

このファイル名は、Windowsで使用するために予約されています。
別の名前を選択して再試行してください。

CONWindowsでファイルまたはフォルダーに名前を付けられないのはなぜですか?


回答:


35

「con」は、システムI / Oデバイス、コンソールの名前です。

  • 詐欺
  • エラー
  • ヌル

そして、他にもカップルがいると思います。

昔は、DOSで次のようにファイルを作成するのが一般的でした(そして、今でも時々これを行います)。

C:\>copy con foo.txt
I'm typing some text here.
^Z
    1 file(s) copied.
C:\>

軽微な修正:errは予約されていません。予約済みのデバイス名の完全なリストは、con、nul、prn、com1..9、およびlpt1..9です。これらは、任意の拡張機能(例:)で使用する場合でも予約されていますcon.txt
efotinis 09

引用された部分について、「我々はリネームソフトウェアを使用しない限り」、どのように「名前の変更ソフトウェアは、」基本的にOSのlimitatiomが何であるかを周りを取得します
Sathyajith Bhatさん

1
あなたは私を得た。私は、「名前を変更するソフトウェア」でもそれができることには懐疑的です。しかし、できれば、ファイルを開いたり移動することさえできるのではないかと心配になります。あなたが言ったように、OSはそれに問題を起こすでしょう。
JMD

11
マスターリストはmsdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx にあります。ファイル名に次の予約済みデバイス名を使用しないでください。CON、PRN、AUX、NUL、COM1 、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、およびLPT9 また、これらの名前の直後に拡張子が続くことは避けてください。たとえば、NUL.txtは推奨されません。
shf301 09

1
@Sathya:\\?\プレフィックスを使用してファイル名の解析をバイパスします。たとえば、「\\?\ C:\ con \ nul.txt」。
悲しみ

13

CONWindowsの予約名です。そうですPRNAUXNULLPT1など。


2
CONはコンソールの略です。コマンドプロンプトウィンドウを開き、テキストファイルのあるディレクトリに移動して「copy file.txt con」と入力します。テキストファイルの内容がコンソール(コマンドプロンプトウィンドウ)に
書き込まれ

12

私はこの回答を複製に与え、参考のためにここに投稿すると思いました:

前述のとおり。CONsoleデバイス用のMS-DOSの予約語です(覚えている限り)。ただし、Windows / DOSにフォルダを作成させることができます。デバイスの場合、フォーマット\\.\[RESERVED_WORD]を使用して「ファイル」にアクセスします(これらのデバイスは通信にファイルを使用しました)。Windowsにフォルダを作成させる代わりにmkdir [RESERVED_WORD]、次の手順を実行します。

mkdir \\.\[absolute path to folder of choice, including drive letter]\[RESERVED_WORD]

たとえば、デスクトップにCONフォルダーを作成するには、

mkdir \\.\C:\Users\me\Desktop\CON

フォルダを削除するには、同じ方法で参照する必要があります。そうしないと機能しません。

rmdir \\.\C:\Users\me\Desktop\CON

私のアドバイスは、別の名前を使用することです。特に展開を計画しているアプリを開発している場合は、常に絶対パスで参照することは非常に困難です。


4

これは、「内部デバイス」を表すために使用されるためです。ただし、コマンドプロンプトで次のコマンドを使用して、このフォルダーを作成できます。

C:\>md \\.\e:\con

このフォルダーは、右クリックして削除することはできません。次のコマンドを使用する必要があります(再びコマンドプロンプトで)。

C:\>rd \\.\e:\con

ソース:http : //yhisham.blogspot.in/2012/09/mystery-about-con-folder-in-windows.html


3

Pablo Santa Cruzの回答に加えて、Windowsで内部的に使用され予約されているキーワードの完全なリストを以下に示します。以下はすべて大文字と小文字を区別しません

  • CON
  • PRN
  • AUX
  • COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、COM0
  • LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8、LPT9、LPT0

_con代わりに使用できます


2

コマンドプロンプトだけで、特別なソフトウェアを使用せずに名前を変更できます。

例えば:

C:\>echo Test > \\?\C:\con
C:\>type \\?\C:\con
Test
C:\>rename \\?\C:\con test.txt
C:\>type test.txt
Test

後に\\?\フルパスを指定する必要があります。


0

ファイル名で使用できない文字があるように、予約されているため使用できない単語(ファイル名全体)もいくつかあります。


0

copy conテキストファイルを作成する古風な(MS-DOS)方法です。例えば:

copy con output.txt

そのため、これは予約語であり、Windowsでフォルダー名として使用することはできません。


0

前述のように、などのデバイスまたはファイル名の名前空間を使用して、コマンドラインで予約名のファイルとフォルダーを作成および操作でき\\.\C:\NULますが、Windowsエクスプローラーからそのようなファイルまたはフォルダーにアクセスしようとするとどうなるかを確認します。

NULという名前のフォルダーを開く際のエラー NULという名前のフォルダーの削除エラー

予約されたデバイス名を持つオブジェクトへのアクセスは、前述のネームスペースの回避策を使用しない限り、その名前で指定されたデバイスを参照するものとして扱われます。Windowsは、彼らは通常のフォルダであるかのようにそれらを操作しようとしているため、これらのエラーが発生していますが、指定したデバイスを開くことができないNULCONまたはそれ以外のフォルダ-したがってとしてIncorrect function(のようなエラーInappropriate ioctl for deviceLinuxのエラー)。


3
用語を少し混同しました。\\.\…されたのWin32 デバイスの名前空間は\\?\…あるのWin32 ファイル名(また、フォルダの)名前空間、そして\\compname\…あるUNC(ネットワーク)パス
Synetech

@Synetech:修正されました。
bwDraco
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.