Windows-Eingabeaufforderung „Dir“-Befehl zum Speichern einer Textdatei und ohne Datenerweiterungen?

Windows-Eingabeaufforderung „Dir“-Befehl zum Speichern einer Textdatei und ohne Datenerweiterungen?

Ich habe einen Dir-Befehl, mit dem ich eine Textliste eines Dateiverzeichnisses erstelle: „dir /a /b /-p /o:gen > z-file_list.txt“

Weiß jemand, wie ich das ändern kann, sodass die Textliste keine Erweiterungen enthält? Also nur den Dateinamen?

Dank im Voraus!

  • BEARBEITEN -

Entschuldigen Sie, ich habe mich nicht klar ausgedrückt. Ich meine, dass sein Befehl eine txt-Datei mit einer Dateiliste des Verzeichnisinhalts speichert.

Die Textdatei sieht folgendermaßen aus:
Dateiname.ext
Dateiname.ext
Dateiname.ext
Dateiname.ext

Ich versuche herauszufinden, wie ich die Textdatei so aussehen lassen kann.
Dateiname
Dateiname
Dateiname
Dateiname

Danke. Entschuldigung, ich habe mich unklar ausgedrückt.

Antwort1

Der dirBefehl verfügt weder über einen Schalter noch über die Option zum Löschen von Erweiterungen.

dir /bDies kann jedoch durch die Verarbeitung der Ausgabe in einer Schleife erfolgen for /f.

(del list.txt 2>nul) & for /f %f in ('dir /a /b /o:gen') do @echo %~nf >>list.txt

Wenn Sie sich nicht um Unterverzeichnisse oder System-/versteckte Dateien kümmern (was ja der Zweck ist dir /a), dann würde auch ein einfaches Verzeichnis forfunktionieren.

(del list.txt 2>nul) & for %f in (*) do @echo %~nf >>list.txt

Führen Sie es aus dir /?, del /?und for /?erfahren Sie mehr über die Syntax und die Schalter.

Antwort2

Sie können dies von der CMD-Eingabeaufforderung aus tun, indem Sie mit Powershell ein wenig schummeln. Geben Sie in der Eingabeaufforderung Folgendes ein:

powershell -command "dir |select basename" > file_list.txt

Wie gesagt, das ist ein bisschen geschummelt, da powershell -commanddie Powershell-Shell aufgerufen wird, um das Powershell-Skript auszuführen dir |select basename". Zu Ihrer Information: dirIn Powershell ist dies nur ein Alias ​​für den Befehl get-childitemund hat nichts mit dem Befehl der CMD-Eingabeaufforderung zu tun dir. Powershell führt das Skript aus und die Ergebnisse werden an die CMD-Eingabeaufforderung zurückgegeben und >in die Textdatei umgeleitet ().

verwandte Informationen