Windows TIPS
[System Environment]
  Windows TIPS TOPへ
Windows TIPS全リストへ

不正な名前のファイルを削除する

解説をスキップして操作方法を読む

デジタルアドバンテージ 打越 浩幸
2005/01/29
 
対象OS
Windows 2000
Windows XP
Windows Server 2003
何らかの拍子に不正な名前のファイルができてしまい、削除も名前変更もできなくなることがある。
ファイル名の最後に「.」が付いていたり、デバイス名と同じ名前を持つファイルは、削除することができない。
このようなファイルは、特殊なファイル名表記を利用して削除することができる。
 
解説

 Windowsシステムを使っていると、何らかの拍子に、通常では開いたり、削除したりできないような名前のファイルやフォルダが作成されてしまうことがある。例えば「abc...」のように最後に「 . 」が付いたファイルや、「PRN」「COM1」といった予約デバイス名と同じ名前のファイルである。このようなファイルが作成される原因としては、(インストール)プログラムのバグや(不正なファイル名文字の排除を忘れているなど)、入力時のミスで不正なファイル名を指定した場合など、さまざまな可能性がある。原因はともかく、いったんこのような「不正な名前」を持つファイルができてしまうと、ファイルの削除や名前変更ができなくなるだけでなく、ファイルやフォルダを(削除して)整理することすらできなくなってしまう。以下はコマンド・プロンプト上でdelコマンドで削除しようとした例であるが、エクスプローラ上で[ファイル]−[削除]コマンドを使っても、同様にエラーとなる(エクスプローラではサイズ表示もできなくなったりする)。

C:\WORK>dir
ドライブ D のボリューム ラベルは NTFSVOL です
ボリューム シリアル番号は D460-15D9 です

C:\WORK のディレクトリ

2005/01/26  11:25    <DIR>          .
2005/01/26  11:25    <DIR>          ..
2005/01/26  14:27               670 abc. …最後に . がある
2005/01/26  14:27               713 abc..
2005/01/26  14:26               587 COM2 …予約デバイス名
2005/01/26  14:26               462 CON
2005/01/26  14:26               545 LPT1
2005/01/26  14:26               503 PRN
               6 個のファイル               3,480 バイト
               2 個のディレクトリ  41,568,780,288 バイトの空き領域

C:\WORK>del abc. ……削除しようとしてもできない
C:\WORK\abc. が見つかりませんでした。

C:\WORK>del abc..
C:\WORK\abc.. が見つかりませんでした。

C:\WORK>del com2 ……デバイス名のファイルも削除できない
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

C:\WORK>del prn
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

 だがこのようなファイル/フォルダ名でも、特別な表記方法を利用すれば、削除可能な場合がある。


操作方法

 エクスプローラの削除や、コマンド・プロンプトのdelコマンドでも削除できないようなファイル/フォルダは、delコマンドと「\\?\ドライブ名\パス名\ファイル名」という表記を使えば削除することができる。「ドライブ名」には「c:」や「d:」など、そのファイルが存在しているドライブ名を指定する。「パス名」には、そのファイルの含まれるフォルダの名前を、ドライブのルートからの絶対パスで指定する。カレント・ディレクトリからの相対パスではいけない。「ファイル名」には削除したいファイルの名前を指定する。また、パス名やファイル名に空白などの特殊な文字が含まれている場合は、ファイル名表記全体を引用符で囲む必要がある。以下は、c:\workフォルダにある特殊なファイルを削除している場合の例である。カレント・ディレクトリは「c:\work」であるが、「\\c:\work\…」というふうに、必ずルートからの絶対パスを使って指定しなければならない。

C:\WORK>del \\?\d:\work\abc..  ……特殊な表記を使って削除する

C:\WORK>del "\\?\d:\work\con"  ……引用符で囲んでもよい

C:\WORK>del "\\?\d:\work\lpt1"

C:\WORK>dir
ドライブ D のボリューム ラベルは NTFSVOL です
ボリューム シリアル番号は D460-15D9 です

C:\WORK のディレクトリ

2005/01/27  11:39    <DIR>          .
2005/01/27  11:39    <DIR>          ..
2005/01/26  14:27               670 abc. ……3つ削除されている
2005/01/26  14:26               587 COM2
2005/01/26  14:26               503 PRN
               3 個のファイル               1,760 バイト
               2 個のディレクトリ  41,568,796,672 バイトの空き領域

 このように、通常は不正とされるファイル名でも削除することができる。

 なおファイルが削除できない原因としては、このほかにもアクセス権の不足や、使用中であるなどの問題も考えられる。可能ならば使用中のアプリケーションやサービスなどを終了させてみるとか、システムからログオフしたり、再起動したりしてから上記の操作を行うと確実である。End of Article

  関連リンク
  NTFS ファイル システム上のファイルまたはフォルダを削除できない(マイクロソフト サポート技術情報)
     
この記事と関連性の高い別のWindows TIPS
これだけは覚えておきたい、コマンド・プロンプトの使い方
volrestコマンドでシャドウ・コピーから以前のバージョンのファイルを取り出す
ファイルのフルパス名を簡単に取得する方法
dirコマンドでファイル名の一覧を取得する
複数ファイルのファイル名を一括して変換する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH