Ich habe ein Lied, das Windows nicht abspielen kann, weil der Name der Datei ein Fragezeichen enthält.
"Where Have All the Cowboys Gone?.ogg" // as an example
Also versuche ich es umzubenennen und Windows beschwert sich, ob ich es im Explorer oder über die Eingabeaufforderung versuche.
Fehler, den ich beim Kopieren, Umbenennen oder Verschieben erhalte, ist:
Die Syntax für Dateiname, Verzeichnisname oder Datenträgerbezeichnung ist falsch
Gibt es in diesem Fall eine Windows- Möglichkeit, eine Umbenennung zu erzwingen?
Aktualisieren
Ich werde diese Frage im Auge behalten, aber nach 13 Antworten und vielen Versuchen (abgesehen von Lösungen von Drittanbietern) scheint es, dass Windows dies nicht kann (oder zumindest meine Fenster nicht, keine Kurznamen). Also akzeptiere ich die Antwort, die sowieso meine ursprüngliche Lösung für die Verwendung von Linux war. Es wäre schön zu sehen, wie Windows dies irgendwie handhabt. Hören Sie also nicht auf, nur weil ich diese Antwort akzeptiert habe. Die Frage bleibt bestehen!
quelle
Antworten:
Besorgen Sie sich eine Linux-Live-CD und verwenden Sie diese.
quelle
Haben Sie versucht, die Kurzversion des Dateinamens zu verwenden? Z.B
Wenn dies die einzige Datei im aktuellen Ordner ist, die mit den ersten Buchstaben beginnt, verwenden Sie die ersten 6 Buchstaben des Namens (Leerzeichen werden ignoriert), gefolgt von einer Tilde (~) und einer 1.
quelle
Wie Sie sehen werden, hat chkdsk die Dateien tatsächlich für mich gelöscht. Wenn Sie also die Dateien behalten möchten, weiß ich nicht, was zu tun ist, aber dies wird die Dateien mit Sicherheit entfernen.
Ergebnisse / Cmd-Protokoll:
quelle
chkdsk
behebt manchmal ungültige Dateinamen. Sie erhalten eine Meldung zum Entfernen der Datei, da alle Dateinamen ungültig sind. Anschließend wird eine verlorene Datei wiederhergestellt. Sie finden die Datei dann inC:\found.000\file0000.chk
. Dies ist ein effektiver Weg, um die problematischen Dateien zu entfernen, aber nicht der beste Weg, um sie zu behalten.quelle
\found.000
.Ich habe die hartnäckige Datei gelöscht, indem ich 7zip geöffnet, die Datei gefunden und die Datei über 7zip umbenannt habe. Meins war ein Lied, in dem am Ende der Datei ein Leerzeichen stand.
quelle
Geben Sie den UNC-Pfad an (siehe Benennen von Dateien, Pfaden und Namespaces ). Dies umgeht alle möglichen Einschränkungen. Sie würden es mit der
\\?\
Syntax tun .Wenn sich Ihre Datei beispielsweise auf Ihrem Desktop befand (und Ihr Windows-Laufwerk C :), können Sie dies tun
Hinweis: Sie können mit dieser Syntax keine relativen Pfade verwenden. Sie müssen den vollständigen Pfad angeben. Und es funktioniert nicht mit dem
ren
Befehl, sondern mitcopy
undmove
.quelle
\\?\
Umgeht lediglich die Dateipfadverarbeitung in der Laufzeitbibliothek im Benutzermodus. Das Öffnen von Dateinamen, die die 5 Platzhalterzeichen (*? "<>), Andere reservierte Zeichen (/ |: \) oder Steuerzeichen enthalten, ist nicht zulässig.\n
. Fragen Sie mich nicht, wie ich es erstellt habe (nun, ich versuche zu prüfen, ob Sie in Windows mehrere Dateien mit demselben Namen erstellen können). Explorer, FreeCommander konnte es aber nicht löschen\\?\C:\...
.Verwenden Sie Recuva . Es ist in erster Linie zum Wiederherstellen gelöschter Dateien gedacht, bietet jedoch auch die Möglichkeit, nicht gelöschte Dateien in den Scan einzubeziehen.
Verweigern Sie nach dem Starten von Recuva den Assistenten und wählen Sie die richtige Festplatte aus. Gehen Sie dann zu "Optionen", suchen Sie nach der Option "Nach nicht gelöschten Dateien suchen", aktivieren Sie sie und starten Sie den Scan. Nach einer Weile werden alle Dateien auf der Festplatte angezeigt (unabhängig davon, ob sie gelöscht wurden oder nicht). Suchen Sie Ihre Dateien mit ungültigen Namen (die Namen sind bereits in der Ansicht festgelegt), wählen Sie sie aus, klicken Sie mit der rechten Maustaste und speichern Sie sie ("Wiederherstellen").
Ich habe es gerade gemacht (unter Windows XP).
quelle
/n
die 7-zip nicht manipulieren konnte.Das Microsoft-Tool DISKEDIT.EXE ist ein einfaches Tool zum direkten Lesen und Schreiben von Rohdatenträgerdaten. Sie sollten in der Lage sein, den Cluster zu laden, der den Verzeichniseintrag für diese Datei enthält, und nur das beleidigende '?' Zeichen zu etwas Unschädlichem und schreibe es zurück auf die Festplatte.
Nach meinem Verständnis wurde das Microsoft-Tool diskedit (nicht das gleichnamige Norton Utilities-Tool, das nur für FAT-Volumes gilt) zuletzt in Windows 2000 SP4 verwendet. Aber es gibt einen Link dazu, der hier zu finden ist .
Um den richtigen Cluster zu finden, können Sie eine Testversion von DiskExplorer für NTFS herunterladen .
Sie würden mit Datei-> Laufwerk ... beginnen, um das Laufwerk zu öffnen, das diese fehlerhafte Datei enthält. Wählen Sie Goto-> Root Directory, um eine Verzeichnisansicht zu erhalten. Navigieren Sie mithilfe der MFT-Links zu dem Verzeichnis, in dem sich Ihre fehlerhafte Datei befindet. Wenn Sie dort ankommen, wird oben im Fenster so etwas wie "MFT # x12345 DIR: 'dirname', ... bla bla bla ... beginnend mit Cluster x9302AE , ... bla bla " angezeigt.
Wechseln Sie jetzt zu Microsoft diskedit. Führen Sie zuerst Datei-> Öffnen ... aus und geben Sie den Datenträgernamen C: an (wenn sich die Datei auf Ihrem Laufwerk C: befindet). Lassen Sie den Namen der Volume-Datei leer. Nehmen Sie diese Start-Cluster-Nummer und geben Sie sie in diskedit unter Read-> NTFS Clusters ...-> Starting Cluster ein (geben Sie sie als Hex-Nummer ein).
Verwenden Sie nun Ihre Pfeiltasten, um zum falschen Dateinamen zu scrollen. Es ist in Unicode, also suchen Sie nach etwas wie "Wo .Haben .Alle .Cowboys .Gone? ... ogg" Positionieren Sie den Cursor über dem schlechten "3F" -Zeichen und geben Sie etwas Sicheres ein, wie 5F (' _ '). Wählen Sie Write-> It, um es zurück auf die Festplatte zu schreiben.
Es gibt noch eine weitere Stelle, die getroffen werden muss (nicht sicher, ob eine oder beide benötigt werden). Klicken Sie jetzt im DiskExplorer auf die Mft # für die fehlerhafte Datei. Sie erhalten einen Bildschirm mit einem Baum, auf dem links "Strukturen" steht. Klicken Sie im Baum auf "Attribute". Es wird Ihnen eine Liste von Attributen angezeigt, von denen eines etwa $ 30 ... $ FILE_NAME sein wird. $ 30 hat also den Dateinamen. Klicken Sie im Strukturbaum unter dem Knoten $ 30 auf den Knoten Body. Wählen Sie das Menü Ansicht-> als Hex. Einige Zeilen weiter unten sollte der Dateiname erneut angezeigt werden. Where .Have .. etc. Auf der linken Seite des Bildschirms sehen Sie die Spalte Sector (Sektor), in der angegeben ist, welchen Plattensektor Sie betrachten.
Zurück über die Diskedit. Gehen Sie zu Read-> Sectors ... und geben Sie die Sektornummer aus dem DiskExplorer ein. Scrollen Sie wie zuvor nach unten und ersetzen Sie das Zeichen "3F" durch dasselbe Zeichen wie oben. Wählen Sie Write-> It, um es auf die Festplatte zu schreiben.
Ich habe das alles gemacht und die Tools sagen mir, dass ich den Charakter geändert habe, der Explorer jedoch nicht. Das Verzeichnis muss irgendwo zwischengespeichert werden. Nach einem Neustart wird die Änderung sichtbar.
quelle
Versuchen Sie es mit einem Drittanbieter-Tool wie dem Ken Rename- Tool:
oder Master umbenennen .
Hier ist eine Liste der Tools zum Umbenennen von Dateien .
Ich würde sie selbst testen, aber ich verwende Windows Vista 64-Bit. Die Dateibehandlung kann unterschiedlich sein.
Wenn diese Tools fehlschlagen, können Sie Windows PowerShell testen. Siehe Umbenennen von Dateien im Windows PowerShell-Blog .
quelle
Haben Sie versucht, es in eine Datei mit dem richtigen Namen zu verschieben?
quelle
copy
Befehl geklappt.?
oder*
oder<
oder>
oder:
im Namen, undcopy
-ing hat gerade funktioniert? (Ich habe es nur ausprobiert und es war nicht überraschend für mich.)copy
Befehl. Hast du auch probiertcygwin
und den bash Befehlmv
?"
,|
,/
, und natürlich auch die umgekehrten Schrägstrich (was ich kann hier nicht :) eingeben scheinen)) sind in eine andere Klasse von problematischen Zeichen ( reserviert ), und ich fürchte, weder dercopy
Befehl nochCygwin
können sie umbenennen. (Sie hatten höchstwahrscheinlich verschiedene Zeichen in Ihrem problematischen Dateinamen.)a
.In
cmd.exe
gehen in das neue Verzeichnis und geben Sie den folgenden:Dies ist der Einfachheit halber. Dann können Sie es in XP umbenennen , wie Sie wollen, wie
1.ogg
zuWhere Have All the Cowboys Gone.ogg
.ogg
war nur ein beispiel, erweiterung kann alles sein.quelle
Wenn Sie Cygwin installiert haben, sollte es in der Lage sein, sich um die Datei zu kümmern. Ich hatte gerade dieses Problem und die Verwendung von rm von Cygwin in einer Bash-Shell konnte die Datei problemlos löschen, wenn keine Windows-App, einschließlich Explorer und der Versuch, die UNC-Dateispezifikation mit CMD.exe zu verwenden, geholfen hat.
Ich würde mir vorstellen, dass mv es für den Fall tun würde, dass Sie die Datei behalten möchten.
Ein Cygwin-Setup mit Barebones dauert nur ein paar Minuten, und ich behalte es sowieso immer bei, weil es so viele gute Tools gibt. Es ist einfacher als Linux zu booten, selbst wenn Sie eine Live-CD verwenden.
quelle
\\?\
würde auch in diesem Fall funktionieren - bei ordnungsgemäßer Verwendung mit einem vollqualifizierten Unicode-Pfad. Es umgeht den Laufzeitbibliothekscode im Benutzermodus, der eine skurrile alte MS-DOS-Regel aus den 80er Jahren emuliert, die Leerzeichen am Ende von Namen ignoriert. Das Problem mit ungültigen und reservierten Zeichen kann so nicht behoben werden.Angenommen, es handelt sich um ein FAT32- oder NTFS-Volume, versuchen Sie, chkdsk auszuführen. Das sollte "beschädigte" Verzeichniseinträge bereinigen, was (in diesem Fall) das Entfernen des? Bedeuten würde. Wenn es sich um das Startvolume handelt, müssen Sie möglicherweise einen Neustart durchführen.
quelle
:
und dadurch verschwand das Verzeichnis. Tu das NICHT.chkdsk
bewegte den Inhalt des Ordners im Stammverzeichnis der Festplatte in einen verborgenen Ordner und ich konnte meine Dateien wieder dort sehen: superuser.com/a/320654/2293Das sollte funktionieren (zumindest für mich):
Dieser Befehl würde ungefähr so etwas ausgeben:
Das
WH5E97~1
ist was Sie suchen!(Bitte beachten Sie: Dieser Code ist vollständig erfunden, sollte aber dem ähnlich sein, den Sie finden werden.)
Das zu wissen, ist einfach
sollte den Trick machen.
Ich hoffe es hilft.
quelle
dir t97*
beide Dateien zurückgegeben, da der Platzhalter mit dem Sternchen mit der Datei übereinstimmtt.txt2
,t97.txt
indem der Kurzname mapT97B4~1.TXT
Hast du es versucht:
könnte funktionieren.
quelle
Versuchen Sie es mit einem Platzhalter für unterwegs -
Das ist wahrscheinlich die beste Wahl, solange es nur eine Datei gibt, die mit dem Platzhalter übereinstimmt.
quelle
Ziehen Sie sie in einen neuen Ordner und legen Sie sie dort ab. Navigieren Sie in der Eingabeaufforderung zu diesem Ordner und geben Sie sie ein
quelle
Versuchen Sie , die Datei mit cygwin umzubenennen:
Der Befehl wäre:
mv filename?.ogg filename.ogg
quelle
Die meisten internen Microsoft-Befehle werden mit dem Vorhandensein von gesteuert
explorer.exe
.Öffnen Sie Ihren Task-Manager und überprüfen Sie die Liste der derzeit aktiven Prozesse. Sie werden
explorer.exe
unter ihnen finden. Klicken Sie mit der rechten Maustaste und beenden / stoppen / schließen Sieexplorer.exe
. Schließen Sie den Task-Manager noch nicht. Wechseln Sie nun mit einem sekundären Dateimanager in die anstößige Datei und versuchen Sie, sie mit Platzhaltern zu löschen oder umzubenennen. Es wird wahrscheinlich erfolgreich sein.Kehren Sie nun zum Task-Manager-Fenster zurück, und klicken Sie mit der rechten Maustaste in der oberen Zeile auf Anwendungen. Wählen Sie dann die untere Schaltfläche Neue Aufgabe. Eintreten
explorer.exe
. Der Explorer wird wieder angezeigt und die anstößige Datei ist nicht mehr vorhanden.quelle
Über die WinRAR-Benutzeroberfläche können Sie die Dateien umbenennen, ohne sie zuerst in ein Archiv packen zu müssen. Ich habe es in Windows 8.1 unter einem sehr langen Dateinamen getestet. Lief wie am Schnürchen.
quelle
Wenn Sie WinRAR haben, packen Sie es in WinRAR, benennen Sie es in WinRAR um und entpacken Sie es.
Oder Sie können es mit einem VBScript versuchen, das nächste Skript nehmen und es unter einer Datei mit der Erweiterung .vbs speichern .
quelle
Ich hatte auch ein ähnliches Problem mit einem Ordner. Der Ordnername war ".min". was normalerweise nicht erlaubt ist.
Umbenennen nicht erlaubt (für Bild klicken)
Mit Winrar konnte ich das lösen. Was ich getan habe war
Zum Archiv hinzufügen ... (für Bild klicken)
Dies ist zulässig, da Windows nicht wirklich überprüft, was sich in der .rar-Datei befindet. Sobald Sie den Namen ändern, extrahieren Sie die Datei und Sie sind fertig.
Ich hoffe das hilft.
quelle
10:2
.Verwenden Sie cmd.exe in diesem Verzeichnis mit Platzhaltern. Zum Beispiel:
quelle
Der 7-Zip-Dateimanager (7-zip.org) benennt Dateien und Verzeichnisse um, die XP nicht kann. Nur verwendet, um eine .tar-Datei zu extrahieren und die beigefügte, illegal benannte .chm-Datei umzubenennen. Keine LiveCD erforderlich.
Tschüß!
quelle
Ich hatte ein ähnliches Problem mit 2 verschachtelten Ordnern mit Unterordnern. Ich konnte einige Dateien weder umbenennen noch löschen (ich habe viele Möglichkeiten ausprobiert). Endlich habe ich die Lösung gefunden: Teracopy.
Installieren Sie es, klicken Sie mit der rechten Maustaste auf den Ordner oder die Datei und wählen Sie teracopy aus. Teracopy wird geöffnet, klicken Sie dann einfach auf
delete
oderrename
. Es wird umbenannt oder gelöscht.Vielleicht möchten Sie es versuchen.
quelle
Ich bin in die gleiche Situation geraten.
Herum googeln Ich habe erfahren, dass es keine native Lösung gibt.
... und ich benutze als Shell die TCC der JPSoft, die auch diese verdammten Dateien nicht verarbeiten konnte.
Aber ich habe auch erfahren, dass Cedrick Collombs Unlocker ( http://www.emptyloop.com/unlocker/ ) damit umgehen kann.
Und ich hatte es in meinem Setup. Auch ich kann es nur empfehlen.
Nun, zumindest beinhaltet diese Lösung nicht das Verlassen der Windows-Umgebung ...
quelle
Ich habe eine FLAC-Datei wie diese mit Winamps grundlegendem Befehl open in diesem Programm-Explorer-Fenster repariert. Als ich zum Ordner ging, hatte ich im Gegensatz zum Explorer die Option zum Umbenennen.
quelle
Ich bin auf eine ähnliche Situation gestoßen. Keine der veröffentlichten Lösungen hat für mich funktioniert, aber ich habe endlich eine einfache Lösung gefunden:
Ich habe die Datei einfach auf einen USB-Stick kopiert (ja, das Kopieren war noch möglich), dort umbenannt und wieder abgelegt! Ich überlasse es anderen zu erklären, warum das funktioniert hat.
quelle
Dies ist keine direkte Antwort (wie kann Windows eine Datei umbenennen), aber das funktioniert bei mir. Die illegalen Dateien befinden sich normalerweise auf einem externen Laufwerk, sodass ich das externe Laufwerk an mein Android- Tablet anschließe. Dadurch kann ich die Datei umbenennen, die dann von Windows gelesen werden kann. Hier geht es um Sonderzeichen, aber das übliche Problem, das ich bekomme, ist ein Dateiname, der mit einem Leerzeichen beginnt oder endet oder mit einem '.'
Ich habe eines der Tools von Drittanbietern, FlexRenamer, ausprobiert.
quelle
In den meisten Fällen ist diese Antwort unbrauchbar .
Ich habe mich von Dateinamen mit Zeichen täuschen lassen, die als Fragezeichen dargestellt werden, obwohl es sich eigentlich nur um Zeichen handelt, die in den Standard-M $ -Fonts nicht angezeigt werden.
Soll ich diesen Beitrag löschen? Es könnte immer noch einigen Menschen helfen ...
Versuchen Sie, die in tab-completion integrierte Datei cmd.exe zu verwenden.
dir /x
hilft nicht (das NTFS wurde ohne Unterstützung für kurze Dateinamen erstellt):Der Versuch, den Namen durch Eingabe von / copy'n'pasting umzubenennen, funktioniert nicht:
Damit es funktioniert, müssen Sie die Tabulatorvervollständigung verwenden . Navigieren Sie einfach zum richtigen Verzeichnis in der Cmd-Shell, geben Sie ein
ren
, drücken Sie die Tabulatortaste und drücken Sie sie so oft, bis der richtige Name angezeigt wird:Geben Sie dann den Rest ein und drücken Sie die Eingabetaste:
Sie werden belohnt mit:
Es ist ein bisschen langweilig, aber bisher hat dies bei Dateien und Verzeichnissen (Windows 7 und 8) immer funktioniert.
Witzige Randnotiz: Die
ren
-Befehle in 2. und 3. sind identisch, funktionieren jedoch nicht ohne Tab-Vervollständigung. Und selbst wenn Sie die Tabulator-Vervollständigung verwendet haben, funktioniert dies nicht mehr, sobald Sie den Namen nach dem bearbeitenren
(z. B. ein Fragezeichen entfernen und hinzufügen).quelle