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

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

(ドイツの)Server 2008で、次の名前のフォルダを見つけました。G:\Daten\Büro_GL\...

Windows エクスプローラーでフォルダーに入ると、...その親フォルダー ( ) に戻りますG:\Daten\Büro_GL

フォルダーは削除できません。すべてのサブフォルダーも削除されるためです。また、denying List folder contentonly for もThis folder機能しません。その場合、拒否は親フォルダーにも適用されます。

ここに画像の説明を入力してください

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

ここに画像の説明を入力してください

実稼働システムのワークフローを中断しないように、フォルダーの内容の移動は避けたいと考えています。

(このようなフォルダをどのように作成できるかについても知りたいです)

答え1

解決済み

誤って3つのドットの付いたフォルダを作成してしまった...

私は次のように Angular アプリケーションを構築しようとしました:

ng build --outputpath=.../public

通常の Windows コマンドでは削除できません。

ng cli コマンドでフォルダーを作成できる場合は、削除することもできることに気付きました。

コードに意図的なエラーを入れて、同じコマンドを実行しました。

すると、フォルダが消えてしまいました。

これは誰かの役に立つかもしれません。

非Angularユーザー向けの詳細情報

  1. ...npmをインストールし、ファイルがあるパスに移動します

  2. それからnpm install -g @angular/cli

  3. ng new mockproject. これにより、mockprojectパスにフォルダーが作成されます。

  4. を編集してpackage.json「ビルド」行に追加します--outputpath=.../public

  5. フォルダ内のすべてmockprojectを、...

  6. 編集しapp.module.tsてそこに文字化けした文字を追加する(プロジェクトでエラーが発生する)

  7. npm run build. エラーが発生します。

今ではフォルダはありません...


背景:私は思うngposix を使用しているため、これらのシステムのようなファイルを作成できます。sygwin などの posix ツールはこれらのファイルを削除できると思います。

答え2

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

同僚が C: のルートに "..." ディレクトリを取得しました。そこで、以下を試しました:

dir "C:\...\"

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

rmdir "C:\...\"

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

背景について:

WindowsのファイルIO APIは最初にファイル名チェックしてください。そして、「...」が「..」として相互浸透しています - それで、ディレクトリを一つ上に上げてください。エクスプローラで「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.ただし、これはプログラマー向けの情報です。

編集:

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

テストしました。ディレクトリを作成しました。エクスプローラーでは次のようになります:

Windows エクスプローラーを「...」で複数回実行する

「dir」を使用すると次のようになります:

cmd with "dir ...": 空のディレクトリ

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

答え3

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

このユーティリティの役割の 1 つchkdskは、文字通り自分自身を含むフォルダー (フォルダー構造内の循環) をクリーンアップすることです。(ソース) はサイクルのチェックをスキップするchkdsk /?状態なので/C、通常の動作はサイクルを修復することであると推測できます。

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

答え4

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

このフォルダの内部は、cmd.exe や Windows エクスプローラでは見ることができません。interix が動作できる場合 (この OS は LUFS には古すぎます)、その方法で下ることができます。そうでない場合は、そのフォルダを開いて実際に内部にあるものを確認するために、FILE_FLAG_POSIX_SEMANTICS を使用して大量のコードを記述する必要があります。

関連情報