Windowsで無効な文字を含むファイルを削除する


16

ファイル名にコロン文字を含むファイルがあります(例:1d67c0d23e859ed4a259749e4a720d9e:default-sink)。コマンドを使用してコマンドラインからそれらを削除しようとすると:

c:\backup> del /F *.*

「システムは指定されたファイルを見つけることができません。」ファイルごとに。個別のファイルを指定した場合:

c:\backup> del /F "1d67c0d23e859ed4a259749e4a720d9e:default-sink"

「ファイル名、ディレクトリ名、またはボリュームラベルの構文が正しくありません。」と表示されます。親フォルダーでrdを使用しようとすると、

これらのファイルを削除するにはどうすればよいですか?


2
これらのファイルは、Linuxを起動したときにNTFSパーティションに作成されました。Windowsはファイルシステムドライバーレベルでファイル名のコロンを好まないので、Linuxブートディスクを使用する必要があると思います。
グロム

回答:


22

このようなファイルを削除する方法をリストしたMicrosoft KB記事があります:

http://support.microsoft.com/kb/320081

私が通常使用する方法は、ネイティブAPIメソッドです。

del "\\?\c:\path\1d67c0d23e859ed4a259749e4a720d9e:default-sink"

による:

http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx

:NTFS上の予約文字である、私は上記のネイティブAPIメソッドは、このようなファイルを削除する場合に推奨される方法です。


4
名前付きデータストリームとして解釈されるため、これはコロンでは機能しません。
-psusi

これは私の場合はうまくいきました。私が含まれているコンマで問題を抱えていたファイル,
マーFattouh

おかげで、これは私のために働いた。ファイルは一定期間で終了しました。CA848D8F。
マストロ

1
動作しません。ファイル名にバックスラッシュが含まれています。
パセリエ

:OPが質問したとおりにファイル名が含まれている場合、このメソッドは機能しません。chkdskライブLinuxから使用するか、削除します。
Souravゴーシュ

15

8.3の名前を試すことができますか?

del /F 1d67c0~1

NTFSドライブでは、8.3の機能を明示的に無効にできるため、この場合はこのオプションではうまくいかないことに注意してください。ファイル名dir aを取得するにはdir /x

以前はフリーウェアと呼ばれるツールdelinvfileがありましたが、彼らは行ってシェアウェア/有料に変更しました


format8.3名のサポートが無効になっているコマンドで作成されたNTFSボリュームでこれを行うにはどうすればよいですか?
user2284570

1
@ user2284570このメソッドは機能しません。その答えを書いたとき、Microsoftは8.3名を有効にしていましたが、最近ではデフォルトで無効になっています。
マークヘンダーソン

@MarkHenderson、私のファイル名は7:2です。ファイル名に8.3形式の名前を使用するにはどうすればよい7:2ですか?
パセリエ

@Pacerierは私の以前のコメントを参照してください。この方法は、最新のオペレーティングシステムでは機能しません。Windows XP以前。
マークヘンダーソン

13

これは私のために働いた:

  1. chkdsk /f
  2. 再起動したPC
  3. その後、ファイルを選択して削除することができました

4

開いている場合、そのようなファイルを含むドライブに保存されているすべてのファイルを閉じます。次に、ドライブのプロパティを開きます。

「マイコンピュータ」->「このドライブを右クリック」>プロパティ

次に、「ツール」タブに移動し、「エラーチェック」ラベルの下にある「今すぐチェック」をクリックします。

ここに画像の説明を入力してください画像をクリックすると拡大します

これにより、ドライブのマウントが解除され、ドライブ全体のエラーがスキャンされ、最終的には不正な名前のファイルが削除されます。完了すると、いくつかのファイルが修正されたことを示すメッセージが表示されます。

そのようなファイルを外付けハードディスクから正常に削除しました。


3

私が持っているUNIXベースアプリケーション用サブシステムを私のPC(Windows 7の)にインストールされています。Windowsシェルから、でファイルを作成しtouch 1d67c0d23e859ed4a259749e4a720d9e:default-sink、それで削除できますrm *:*


POSIX準拠のユーティリティ(SFUなど)は、このようなファイルを削除できます。
Ausmith1 09

@JoeInternet:sigghh Microsoftは2012以降のすべての非Windowsサブシステムを削除しました。
user2284570

...しかし、Unixサブシステムが
勝者

1

親フォルダーの名前を1文字(a、1など)に変更してから、親フォルダーを削除してください。動作しない場合は、最初の子フォルダーに移動し、名前を1文字に変更して、削除を再試行します。無効な文字を含むファイル(わからないので作成方法を聞かないでください)またはパスが最大値を超えるファイル(これがどのように発生するかを尋ねないでください)に対して、このメソッドをよく使用します。


1

7zipは、Windowsが失敗したファイルを削除できます。過去に長いファイル名を扱うときに使用しましたが、コロンを含むファイルでは試したことはありません。通常、ADSを示すために使用されます。


これは、7-zipがcygwinを使用しているためです。
user2284570

1
両方のファイルで機能しません。最初のファイルにはファイル名にバックスラッシュがあり、2番目のファイルにはファイル名にコロンがあります。
パセリエ

いいえ、7-zipはシェルではなくWindows APIを使用しているためです。APIと同じ制限があります。コロンはストリームを示すと考えられます。
user165568

7zipは私のために働いた
-user1278519

1

私はデュアルブートシステムを使用していますが、上記の回答のどれでもうまくいきませんでした。ファイルが他のOS(私にとってはUbuntu 16.04 LTS)によってマウントされているディスクにある場合、他のOSを使用して簡単に削除できます;)


これは、バインド中の場合はかなり合理的です(ただし、オンラインマシンでは実行できません)。また、FedoraインストーラーディスクやKnoppixなどのライブディストリビューションを起動してこれを行うことができるため、ネイティブデュアルブートは必要ありません。ただし、このシステムをマウントするために使用するNTFS3Gドライバーは、ほとんどのWindowsアクセス許可/ ACLを尊重しないため、このような環境では注意が必要です(まさに、「スタック」ファイルを取り除くのに非常に効果的です) 。
スプーラー

0

ファイル名を引用してみましたか?実行中の正確なコマンドを指定すると便利です。


質問するために実行している正確なコマンドに追加しました。
グロム

0

ワイルドカードを使用してみましたか?たとえば、「del 1d67c0d23e859ed4a259749e4a720d9e *。*」が機能する場合があります。


あなたはワイルドカードを試しました。運がない
グロム

1
次に考えるのは、システムをLinuxレスキューCD(システムレスキューCDなど)でブートし、そこにボリュームをマウントして、そこから削除を試みることです。その時点で、ファイルシステムで実際に何が起こっているかを誰が知っているのか、興味深い結果が得られるかもしれません。
マイケルコーン

@MichaelKohne:Unixパス実装を使用することも正しい解決策だと思います。しかし、なぜLinuxを使用するのでしょうか?WindowsはNTサブシステムとして実行され、POSIX / Unix NTサブシステムが既に存在します。
user2284570

1
@ user2284570-Linuxで作成されたという事実を考えると、Linux NTFSドライバーはあるべきではないものを許可したようです。ライブLinux CDの起動、偽のファイルの削除、Windowsからの再起動がはるかに簡単になりました。
マイケルコーン

@MichaelKohne:いいえ、UNCパスは既に機能しているため(ネイティブサブシステム)、POSIXサブシステムでは代替データストリームに直接アクセスできないため、:内部ファイルを使用できます。
user2284570

0

dir / Xを試して実際の8.3名を見つけてから、その名前を削除してみましたか?

または、そのファイルに代替データストリームを含めることができますか?http://www.nirsoft.net/utils/alternate_data_streams.htmlのツールを見て、何がわかるかを確認したいかもしれません(そのツールを使用したことはありません。検索したときに表示されただけです) 。


0

名前にcommmaを含むフォルダーがありました。上記の提案のいくつかを試してみましたが、それらを機能させることができませんでした。

cygwinでフォルダーを削除できました。そのアプリをインストールすることは万人向けではありませんが、仕事はできます。


0

上記の提案はどれもうまくいきませんでした。WinRarを使用しました。winrarを開くと、ファイルのリストが表示され、疑わしいファイル「filename」(「filename:some_text.txt」として作成されました。Winrarでファイルの名前を変更し、拡張子(.txtまたは.doc)。

Windowsエクスプローラに戻ると、「filename .txt」(またはdoc)が表示されます。そこから削除します。

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