Ich habe ein Programm unter Windows 7 ausgeführt, das unter Cygwin kompiliert wurde und als Ausgabedateiname "NUL" übergeben hat. Statt die Ausgabe zu unterdrücken, wurde im aktuellen Verzeichnis eine Datei mit dem Namen "NUL" erstellt. (Anscheinend erwartet "/ dev/null" auch unter Windows.) Jetzt bleibe ich bei dieser "NUL" -Datei, die ich nicht löschen kann!
Ich habe schon versucht:
remove()
in einem C-Programm - schlägt ebenfalls fehlWie kann ich diese NUL-Dateien (ich habe mittlerweile mehrere) loswerden, ohne die vollständige Cygwin-Umgebung zu installieren und ein C-Programm unter Cygwin zu kompilieren, um dies zu tun?
Öffnen Sie eine Eingabeaufforderung und verwenden Sie diese Befehle, um die NUL-Datei zuerst umzubenennen und anschließend zu löschen:
C:\> rename \\.\C:\..\NUL. deletefile.txt
C:\> del deletefile.txt
Wenn Sie das Präfix \\.\
verwenden, werden die Datei-E/A-Funktionen der übergeordneten Datei angewiesen, den Dateinamen ungeparst an den Gerätetreiber zu übergeben. Auf diese Weise können Sie auf ansonsten ungültige Namen zugreifen.
Lesen Sie diesen Artikel über gültige Datei-/Pfadnamen in Windows und die verschiedenen reservierten Namen.
Wenn Sie Git für Windows (v2.18) installiert haben, gehen Sie wie folgt vor
Git Bash Here
aus.rm nul.json
ein und drücken Sie die EINGABETASTE. Die Datei sollte jetzt entfernt werden.HINWEIS: Diese Screenshots zeigen das Entfernen der Datei nul.topo.json
. Dies ist eine weitere Datei, die ich nicht mit einem einfachen Löschen entfernen konnte.
Ich hatte ein ähnliches Problem. Es wurde wahrscheinlich auch von Cygwin verursacht (da ich dies regelmäßig verwende), aber ich habe seitdem genau vergessen, wie die Datei erstellt wurde.
Ich hatte auch Probleme beim Löschen. Ich folgte den Ratschlägen einiger anderer Beiträge und versuchte, die Datei im abgesicherten Modus zu löschen, obwohl dies nichts tat. Der Tipp von + xxbbcc hat auch für mich nicht funktioniert.
Ich konnte die Datei jedoch mit dem Cygwin-Terminal löschen! Cygwin kreiert und Cygwin zerstört.
So entfernen Sie eine hier abgelegte NUL-Datei: C:\unix\cygwin\dev\nul
Ich verwende einfach (getestet nur unter Windows 10): Del \?\C:\unix\cygwin\dev\NUL
Ich habe das etwas anders gelöst.
Ich dachte, ich würde dies hier hinzufügen, weil es in den Google-Ergebnissen hoch ist und ich ein ähnliches Problem für einen Ordner namens NUL hatte.
Ich habe rmdir\\?\C:\My\Path\NUL
und rmdir\\.\C:\My\Path\NUL
ohne Erfolg ausprobiert und auch mehrere Befehle mit bash aus meiner SourceTree-Installation ausprobiert. Keine Freude.
Am Ende habe ich DIR /X /A
von cmd verwendet, um die Kurznamen im übergeordneten Verzeichnis aufzulisten. Dies zeigte mir NUL~1
für meinen NUL-Ordner und identifizierte den Kern des Problems.
Dies wurde dann im Standardbefehl rmdir /s NUL~1
verwendet und das Problem schließlich behoben.