Ich weiß, dass "dir / w" oder "dir / b" nur den Dateinamen anzeigt. Während "dir / x" oder "dir / X" das 8.3-Format anzeigt, werden zusammen alle anderen Informationen wie langformatige Dateinamen, Datumsangaben und Größe angezeigt.
Ist es möglich aufzurufen dir
, dass nur die Dateinamen (ohne Datum oder Größe) und im 8.3-Format angezeigt werden?
windows
command-line
dir
Athos
quelle
quelle
Wenn Sie nur die 8.3-Namen und nichts anderes anzeigen möchten, erhalten Sie bei Verwendung von "dir / -n" den 8.3-Namen am Anfang jeder Zeile. Hinweis: Die Erweiterung wird vom Dateinamen durch ein Leerzeichen und nicht durch einen Punkt getrennt.
Sie können jedoch das "dir / -n" in einer for-Schleife in einer Batch-Datei verwenden und dann eine Teilzeichenfolge der ersten 12 Zeichen extrahieren , um den Rest jeder Zeile zu entfernen. Z.B:
Mit "skip = 7" werden die ersten 7 Zeilen übersprungen, bei denen es sich weder um Datei- noch um Verzeichnisnamen handelt. Die Ausgabe von "dir / -n" wird über zwei Suchbefehle geleitet, um die letzten beiden von "dir / -n" erzeugten Zeilen zu entfernen „(das Pipe - Symbol‚|‘Bedürfnisse sein“ entkommen "von einem‚^ setlocal EnableDelayedExpansion ‚benötigt wird , und‚‘Bedürfnisse mit der zu verwendenden‘ Da die Teilextraktion für Schleife in der Batch - Datei in einem auftritt.‘! Variable x statt "%". Im obigen Beispiel wird dann die folgende Ausgabe der Ausführung der Batchdatei angezeigt:
quelle
abc.txt
zu erstellen , um dies in Aktion zu sehen. Erstellen Sie dann zum Spaß eine Datei mit dem Namenabc.docx
.Nachdem ich eine Stunde damit gespielt hatte, kam mir Folgendes ein:
von dos prompt:
aus .BAT- oder .CMD-Datei:
Hinweis: Dieses Skript hat immer noch Probleme mit langen Dateinamen, aber es wird fortgesetzt und eine 8dot3-Textdatei erstellt, die dann in jede andere Batchdatei gepumpt werden kann.
Das Folgende ist meine gesamte Test-Bat-Datei:
quelle
Probieren Sie Folgendes aus, um Dateien in allen Unterverzeichnissen aufzulisten:
quelle