So entfernen Sie einen Ordner, der nur drei Punkte enthält [...] (die auf den übergeordneten Ordner verweisen)

So entfernen Sie einen Ordner, der nur drei Punkte enthält [...] (die auf den übergeordneten Ordner verweisen)

Auf einem (deutschen) Server 2008 fanden wir einen Ordner mit dem NamenG:\Daten\Büro_GL\...

Beim Öffnen des Ordners ...im Windows Explorer verweist dieser einfach zurück auf den übergeordneten Ordner ( G:\Daten\Büro_GL).

Der Ordner kann nicht gelöscht werden, da dadurch auch alle Unterordner gelöscht würden. Auch denying List folder contentnur für This folderfunktioniert nicht. Die Verweigerung wird dann auch auf den übergeordneten Ordner angewendet.

Bildbeschreibung hier eingeben

Der Ordner [...] ist ein Ordner und kein symbolischer Link:

Bildbeschreibung hier eingeben

Wir möchten das Verschieben des Ordnerinhalts vermeiden, um den Arbeitsablauf auf dem Produktivsystem nicht zu unterbrechen.

(Mich würde auch interessieren, wie man so einen Ordner erstellen könnte)

Antwort1

GELÖST

Ich habe gerade versehentlich einen Ordner mit 3 Punkten erstellt. ....

Ich habe gerade versucht, meine Angular-Anwendung wie folgt zu erstellen:

ng build --outputpath=.../public

Ein normaler Windows-Befehl würde es nicht löschen.

Mir ist gerade aufgefallen, dass der ng-CLI-Befehl den Ordner zwar erstellen, ihn aber auch löschen kann.

Ich habe einfach einen absichtlichen Fehler in meinem Code gemacht und denselben Befehl ausgeführt.

Boom – der Ordner war weg.

Das könnte jemandem helfen.

Weitere Informationen für Nicht-Angular-Benutzer

  1. Installieren Sie npm und gehen Sie zu dem Pfad, in dem Sie die ...Datei haben

  2. Dannnpm install -g @angular/cli

  3. ng new mockproject. Dadurch wird der mockprojectOrdner in Ihrem Pfad erstellt.

  4. Bearbeiten Sie die Zeile package.jsonund fügen Sie sie zur Zeile „build“ hinzu.--outputpath=.../public

  5. Kopieren Sie alles aus dem mockprojectOrdner dorthin, wo Sie die...

  6. Bearbeiten Sie es app.module.tsund fügen Sie dort einige unbrauchbare Zeichen hinzu (was einen Fehler im Projekt verursacht).

  7. npm run build. Dies führt zu einer Fehlermeldung.

Jetzt haben Sie den Ordner nicht ....


Hintergrund:Ich findees ngverwendet POSIX - es kann also diese systemähnlichen Dateien erstellen. Ich vermute, dass jedes POSIX-Tool wie Sygwin diese Dateien entfernen kann.

Antwort2

Mein Kollege hat das Problem gelöst. Leider habe ich die Eingabeaufforderung geschlossen, bevor ich es bemerkt habe. Ich werde die Dinge aufschreiben, an die ich mich erinnere.

Mein Kollege hat das Verzeichnis "..." im Stammverzeichnis von C:. Also habe ich Folgendes versucht:

dir "C:\...\"

Und ein leeres Verzeichnis wurde angezeigt. Also ein

rmdir "C:\...\"

löscht das Verzeichnis

Ein bisschen Hintergrund:

Windows File-IO APIs rufen zunächst eineDateinameüberprüfen. Und ein "..." wurde als ".." durchdrungen - also, gehen Sie einen Schritt weiter. Versuchen Sie, in Exporer "C:\Windows..\ProgramData" einzugeben. (Zu Ihrer Information: In derAPIwird erwähnt: Wenn der Dateiname mit "\?\" beginnt, wird die Prüfung deaktiviert und auf solche Verzeichnisse kann zugegriffen werden: 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.Dies ist jedoch eine Information für einen Programmierer.)

Bearbeiten:

Wegen der Diskussion „Passt diese Antwort auf die Frage?“:

Ich habe es getestet. Ein Verzeichnis erstellt. So sieht es im Explorer aus:

Windows Explorer mehrfach in "..."

Und das sehen Sie mit „dir“:

cmd mit "dir ...": Verzeichnis leeren

Also: Das Verzeichnis ist leer, aber der Explorer zeigt „falsche“ Informationen an. Das ist kein Konflikt, wenn man bedenkt, wie die Windows-API funktioniert: Die File-API versucht, den Datei-/Verzeichnisnamen zu interpretieren. Verschieben Sie also ein Verzeichnis nach oben, wenn dort ein „..“ usw. steht. Das ist, was Sie in der Explorer-Ansicht sehen. In der Eingabeaufforderung habe ich versucht, eine Zeichenfolge zu finden, die die Windows-API dazu zwingt, keine Interpretation durchzuführen.

Antwort3

Dies kann nur passieren, wenn die NTFS-Datenstrukturen durcheinander geraten und ein Ordner zu seinem eigenen Vorgänger wird. Möglicherweise ist ein Treiber fehlerhaft. Das Laufwerk selbst könnte defekt sein oder die Beschädigung könnte einfach durch einen kosmischen Strahl verursacht worden sein.

Eine Aufgabe des chkdskDienstprogramms besteht darin, Ordner zu bereinigen, die buchstäblich sich selbst enthalten – Zyklen innerhalb der Ordnerstruktur. (Quelle.) Da chkdsk /?Zustände auftreten, die /Cdie Prüfung auf Zyklen überspringen, kann gefolgert werden, dass das normale Verhalten darin besteht, sie zu reparieren.

Führen Sie chkdsk /f D:eine Eingabeaufforderung mit erhöhten Rechten aus, um das Problem und alle anderen Inkonsistenzen zu beheben. Das Volume muss während der Reparatur offline geschaltet werden. Wenn es sich um das Startvolume handelt, müssen Sie nach der Planung der Datenträgerprüfung einen Neustart durchführen.

Antwort4

Der Grund, warum sich ... so verhält, liegt an einer Sache der Win32-Kompatibilitätsebene, die dazu führt, dass ... immer zum übergeordneten Ordner des aktuellen Ordners geht (es emuliert das Verhalten von NetWare, wurde aber versehentlich auf lokale Dateisysteme angewendet).

Sie können mit cmd.exe oder dem Windows Explorer nicht in diesen Ordner sehen. Wenn Sie Interix zum Laufen bekommen (dieses Betriebssystem ist zu alt für LUFS), können Sie auf diese Weise dorthin gelangen. Andernfalls müssen Sie eine Menge Code mit FILE_FLAG_POSIX_SEMANTICS schreiben, um das Ding zu öffnen und zu sehen, was wirklich darin ist.

verwandte Informationen