web-dev-qa-db-ja.com

3つのドットのみを含むフォルダーを削除する方法[...](その親フォルダーを指す)

(ドイツ語の)Server 2008で、G:\Daten\Büro_GL\...という名前のフォルダーが見つかりました

Windowsエクスプローラーでフォルダー...に入ると、親フォルダー(G:\Daten\Büro_GL)を指すだけです。

すべてのサブフォルダーも削除されるため、フォルダーを削除することはできません。また、denyingList folder contentThis folderのみは機能しません。その後、拒否は親フォルダーにも適用されます。

enter image description here

フォルダ[...]はフォルダであり、シンボリックリンクではありません。

enter image description here

本番システムのワークフローを中断しないように、フォルダーのコンテンツを移動しないようにします。

(このようなフォルダーを作成する方法も知りたいです)

6
marsh-wiggle

これは、NTFSデータ構造が混乱し、フォルダがそれ自体の祖先になる場合にのみ発生する可能性があります。ドライバーに障害がある可能性があります。ドライブ自体に障害が発生している可能性があります。または、破損が宇宙線によるものである可能性があります。

chkdskユーティリティの1つの仕事は、文字通り自分自身を含むフォルダをクリーンアップすることです-フォルダ構造内のサイクル。 ( ソース 。)chkdsk /?/Cがサイクルのチェックをスキップすると述べているので、通常の動作はそれらを修復することであると推測できます。

管理者特権のコマンドプロンプトでchkdsk /f D:を実行して、他の不整合とともに問題を修正します。修復中は、ボリュームをオフラインにする必要があります。ブートボリュームの場合は、ディスクチェックをスケジュールした後に再起動する必要があります。

2
Ben N

どのように...フォルダーが作成される可能性があります:アーカイブ名を定義して、7-Zip(18.05)を使用して誤ってフォルダーを作成しました...\filename.7z

幸い、ディレクトリの名前を7-Zipに変更してから、削除することができました。

1
Didier H

同僚がこれを解決しましたが、残念ながら、気付く前にcmdを閉じました。覚えていることを書きます。

私の同僚はCのルートに「...」ディレクトリを取得しました:それで私はこれらを試しました:

dir "C:\...\"

そして、空のディレクトリが表示されました。だから

rmdir "C:\...\"

ディレクトリを削除します

少し背景:

Windows File-IO APIは、最初に ファイル名 チェックを呼び出します。そして、「...」は「..」として相互に浸透しました-それで、ディレクターを上げてください。 Exporer "C:\ Windows ..\ProgramData"で入力してみてください。 (参考: [〜#〜] api [〜#〜] に記載されています:ファイル名が「\?\」で始まる場合、チェックは無効になり、そのようなディレクトリにアクセスできます:Because it turns off automatic expansion of the path string, the "\\?\" prefix also allows the use of ".." and "." in the path names, which can be useful if you are attempting to perform operations on a file with these otherwise reserved relative path specifiers as part of the fully qualified path.しかし、これはプログラマー向けの情報です。)

編集:

「この答えを質問に当てはめますか?」という議論のために:

私はそれをテストしました。ディレクトリを作成しました。 Explorerでは次のようになります。

Windows Explorer multiple times in "..."

そして、これは「dir」で表示されるものです。

cmd with "dir ...": Empty directory

だから:ディレクトリは空ですが、エクスプローラーは「間違った」情報を表示しています。これは、Windows APIの動作を考慮すると競合ではありません。ファイルAPIは、ファイル/ディレクトリ名の解釈を試みます。したがって、「..」などがある場合は、ディレクトリを上に移動します。これがエクスプローラビューに表示されます。 cmdで、WindowsAPIに解釈を行わないように強制する文字列を見つけようとしました。

1
Ralph Erdt

表示される理由...このように動作するのは、win32互換性レイヤーが原因で...常に現在のフォルダーの祖父母に移動します(NetWareの動作をエミュレートしますが、誤ってローカルファイルシステムに適用されます)。

Cmd.exeまたはWindowsエクスプローラーでは、このフォルダー内を表示することはできません。 Interixを機能させることができる場合(このOSはLUFSには古すぎる)、その方法で降下できます。それ以外の場合は、FILE_FLAG_POSIX_SEMANTICSを使用して多くのコードを記述し、それを開いて実際に何が含まれているかを確認する必要があります。

0
Joshua