web-dev-qa-db-ja.com

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

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

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

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

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

WindowsでファイルまたはフォルダーにCONという名前を付けることができないのはなぜですか?

31
hari

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

  • 詐欺
  • 間違い
  • ヌル

そして、他にもいくつかあると思います。

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

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

CONはWindowsで予約されている名前です。 PRNAUXNULLPT1 その他。

13

私は複製にこの回答を与えました、そしてあなたの参照のためにここにそれを投稿すると思いました:

前述のとおり。これは、MS-DOSでのコンソールデバイス用の予約語です(私が覚えている限り)。だが、 あなたはwindows/dosにあなたのためにフォルダーを作成させることができます。デバイスの場合は、\\.\[RESERVED_Word]という形式を使用して「ファイル」にアクセスします(これらのデバイスは通信にファイルを使用します)。 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

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

11
maranas

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

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

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

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

出典: http://yhisham.blogspot.in/2012/09/mystery-about-con-folder-in-windows.html

4
user1662177

拡張 パブロサンタクルーズの答え 、これはWindowsが内部で使用し、予約されているキーワードの完全なリストです。すべてのWindowsファイル名と同様に、以下は大文字と小文字を区別しません。

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

ソース: 指定されたデバイス名は無効です Microsoft Docs。

代わりに_conを使用できます。

3
RafaSashi

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

例えば:

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

\\?\の後に、絶対パスを指定する必要があります。

2
Regent

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

Error opening folder named NULError deleting folder named NUL

予約済みのデバイス名を持つオブジェクトへのアクセスは、前述の名前空間の回避策を使用しない限り、その名前で指定されたデバイスを参照するものとして扱われます。これらのエラーは、Windowsが通常のフォルダーのように操作しようとしているために発生しますが、NULCONなどのデバイスをフォルダーとして開けないため、Incorrect functionエラー(LinuxのInappropriate ioctl for deviceエラーと同様)。

0
bwDraco

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

0
Synetech

copy conは、テキストファイルを作成する古い(MS-DOS)メソッドです。例えば:

copy con output.txt

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