Windowsが._を削除できません。ファイル


91

現在、外付けハードドライブのルートに単にという名前のファイルがあります._.。これは、少し前にMacBookで使用した後にハードドライブに追加されたと思われます。Windows 10マシンでこのファイルを削除しようとしています。ただし、Windowsはファイルが見つからないと主張し続けます。

Windowsエクスプローラーからのエラーメッセージ

また、昇格したコマンドプロンプトからファイルを削除しようとしました。ただし、同じメッセージが返されます。

管理者特権でのコマンドプロンプトからのエラーメッセージ

Windowsを使用してこのファイルをハードドライブから削除する方法はありますか?


7
@ rr- UNIXファイル名でできる悲惨さは、はるかに大きくなる傾向があります。:3
マーティン

5
コマンドプロンプトに奇妙なものが表示されます。しましたfind "._."が、の引用符を省略しましたdel ._.。試しましたdel "._."か?
jpmc26

1
興味深い現象。特に削除するのがどれほど難しいか。ファイルが合法的に作成されたと確信していますか?(その命名は、Macでもかなり奇妙に聞こえます)
トーマス

30
私のお気に入りの部分は、ファイルを削除する試みの表現です。
職人

8
"._."コアラは保護種であるため、これを削除することはできません。

回答:


146

次のコマンドを実行します(管理者として昇格された特権/コマンドプロンプトを開く必要があります):

del "\\?\F:\._."

\\?\プレフィックスについて

ファイルI / Oの場合、\\?\パス文字列のプレフィックス" "は、すべての文字列解析を無効にし、それに続く文字列をファイルシステムに直接送信するようにWindows APIに指示します。

...

パス文字列の自動展開をオフにするため、「\\?\」プレフィックスはパス名に「..」と「.」の使用も許可します。完全修飾パスの一部としての指定子。

\\?\相対パスで「」プレフィックスを使用できないことに注意してください。

==> set prog>"\\?\D:\bat\Unusual Names\._."

==> dir "D:\bat\Unusual Names\*"|find "._."
08.11.2015  13:25               132 ._.

==> type "D:\bat\Unusual Names\._."
The system cannot find the file specified.

==> type "\\?\D:\bat\Unusual Names\._."
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files

==> del "D:\bat\Unusual Names\._."
Could Not Find D:\bat\Unusual Names\._.

==> del "\\?\D:\bat\Unusual Names\._."

==> dir "D:\bat\Unusual Names\*"|find "._."

==>

その接頭辞をURLで使用することは可能startですか?
スティーブンペニー

これをURLで使用しないでください。startコマンドからURLを実行する場合は、二重引用符を使用します。
ネルソン

1
...これを使用して長さ制限をバイパスできますか?(たとえば、node_modulesディレクトリを削除します。)
jpmc26

1
@ jpmc26 MSDN(私の回答で提供されているリンクを参照)のとおり、はい。ただし、で\\?\ 使用されたプレフィックスdelまたはrmdirコマンドが役に立たないシナリオに遭遇しました。なっ7-zipマネージャを提出。
JosefZ

2
@ jpmc26:一部の長さ制限をバイパスできます。基本的に、拡張パスの長さの制限は32Kです。しかし、C:\Windowsまたはのようなほとんどのパス..は拡張されず、長さの制限は260のみです。その260の制限は多くの場所で適用されます。残念ながら、これらの場所のかなりの数が、その制限を「\\?」パスにも誤って適用します。
MSalters

24

質問は既に回答されていますが、可能な代替ソリューションを提供したいと思います。レガシーの「ショートネーム」(dirコマンドの「/ x」オプションで表示できます)を使用すると、それ以外では処理できない「ファンキー」な名前のファイルを把握します。

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>          .
11.11.2015  16:31    <DIR>          ..
11.11.2015  16:31                 7 ._.
               1 File(s)              7 bytes
               2 Dir(s)  44.966.129.664 bytes free

C:\temp\test>dir /x
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>                       .
11.11.2015  16:31    <DIR>                       ..
11.11.2015  16:31                 7 _3E35~1      ._.
               1 File(s)              7 bytes
               2 Dir(s)  44.966.129.664 bytes free

C:\temp\test>del _3e35~1

C:\temp\test>dir
 Volume in drive C has no label.
 Volume Serial Number is 887A-5E48

 Directory of C:\temp\test

11.11.2015  16:31    <DIR>          .
11.11.2015  16:31    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  44.966.129.664 bytes free

20

7-zipをインストールして開き、ファイルメニューを使用してファイルの名前を通常の名前(例:)に変更すると、aaa削除できます。この投稿で見つかりました。

VMで実行されているWindows XPでこれをテストしました。Linuxを使用._.して、共有ディレクトリで呼び出されるファイルを作成しました。


-4

Windowsエクスプローラーを操作して、ファイルに移動します。ファイル名をfilename.txtのように変更します。これで、ファイルを削除できます。これができない場合は、管理者権限があることを確認する必要があります。

(削除できない理由は、ファイル名に実際には名前がなく、拡張子が有効ではないためです。ファイル名は「。」で、拡張子は「__。」で、許可されていません。)


1
@ The_IT_Guy_You_Don't_Like興味がありますが、OPはそれについてどこで言及しましたか?
ムル

@Arie Klep、私は言葉を取り戻します。私は別の同様の質問でそれを読んだに違いない
しゃれ

-8

ファイルを削除するには、1)所有権を取得する2)管理者(あなた)に完全な権限を付与する3)ファイルに対して必要な操作を実行する

高いCMDプロンプト

takeown / f削除不可能なファイルへのフルパス(最後のアイテムは削除不可能なファイルでなければなりません)

icacls削除不能ファイル/ grant管理者へのフルパス:f

ファイルを削除する


26
問題は、ファイル名が不適合であるために、Windowsがファイルにまったくアクセスできないことであるように見えるため、この回答が機能する場合は非常に驚かされます。
スコット
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.