Dir (Kommandozeilenbefehl)
# Dir (Kommandozeilenbefehl)

dir oder DIR ist ein Kommandozeilen-Befehl, der den Inhalt von Verzeichnissen (englisch directories) eines Speichermediums ausgibt. Unter anderem wird er in den Betriebssystemen DOS, Windows, OS/2, RT-11, CP/M, VMS, AmigaDOS oder Singularity verwendet. Aufgrund seiner Bedeutung, um sich in einer Befehlszeile zurechtzufinden, gehört er neben cd zu den bekanntesten Kommandozeilen-Befehlen.

## MS-DOS und Windows

DIR – bei MS-DOS und Windows üblicherweise ohne Beachtung der Groß- und Kleinschreibung, eingedeutscht mit case-insensitiv bezeichnet – war in Tim Patersons 86-DOS enthalten und ist einer der sieben Kommandozeilenbefehle, die seit der ersten Ausgabe von MS-DOS verfügbar sind.

### Parameter

Jegliche Parameter sind optional, womit eine reine Eingabe von DIR zum Absetzen des Befehls bereits ausreicht. In diesem Fall werden automatisch Standardwerte für die Parameter verwendet. Zudem besteht die Möglichkeit, über die Umgebungsvariable %dircmd% selber Standardwerte für die dir-Parameter zu definieren, die daraufhin bei jeder Verwendung des Befehls automatisch angehängt werden.
Derzeit werden folgende Parameter vom dir-Befehl unterstützt:
| Parameter | Bedeutung |
| /A | Listet Elemente mit entsprechenden Attributen (englisch attributes) /AA = zu archivierende Dateien (englisch archiving) /AD = (Unter)Verzeichnisse (englisch (sub)directories) /AH = versteckte Dateien (englisch hidden) /AI = nicht indizierte Dateien (englisch indicated) /AL = Analysepunkte (englisch links) /AS = Systemdateien (englisch system files) /AR = schreibgeschützte Dateien (englisch read-only) Mit - vorangestellte Parameter werden in ihrer gegenteiligen Bedeutung interpretiert (z. B. /A-H listet nicht versteckte Dateien). |
| /B | Listet nur die Dateien und Verzeichnisse, ohne Überschrift und Zusammenfassung (englisch bare format). |
| /C | Ziffern des Attributs Dateigröße enthalten Tausendertrennzeichen |
| /D | Ausgabe als mehrspaltige Liste, nach Spalte sortiert |
| /L | Ausgabe in Kleinbuchstaben (englisch lowercase) |
| /N | Format "New long-list". Zeigt die Dateinamen rechtsbündig an. |
| /O | Ausgabe wird je nach Kriterium sortiert (englisch order): /OD = nach Datum (englisch by date) /OE = nach Dateierweiterung (englisch by extension) /OG = gruppierte Verzeichnisse zuerst (englisch by group directories) /ON = nach Name (englisch by name) /OS = nach Größe (englisch by size) Mit - vorangestellte Parameter werden in ihrer gegenteiligen Bedeutung interpretiert (z. B. /O-N listet Dateien und Ordner in umgekehrter alphabetischer Reihenfolge auf). |
| /P | Hält die Ausgabe jeweils nach einer Bildschirmseite an (englisch pauses). |
| /Q | Zeigt den Besitzer einer Datei an. |
| /R | Zeigt den alternativen Datenstrom einer Datei an. |
| /S | Zeigt außer dem aktuellen Verzeichnis auch alle Unterverzeichnisse an (englisch subdirectories). |
| /T | Definiert, welche Zeitangaben ausgegeben werden sollen (nur Windows NT) (englisch time). /TC = Zeitpunkt der Erstellung einer Datei oder Ordners (englisch created on) /TA = Zeitpunkt des letzten Zugriffs auf eine Datei oder Ordner (englisch access) /TW = Zeitpunkt der letzten Bearbeitung einer Datei oder Ordners |
| /W | Ausgabe als mehrspaltige Liste, nach Reihe sortiert (englisch wide list) |
| /X | Zeigt, sofern vorhanden, den Kurznamen einer Datei an (nur Windows NT). |
| /4 | Zeigt die Jahresangaben vierstellig an (z. B. 1994 statt 94). |

## Andere Befehlszeileninterpreter

Unter Multics (späte 1960er Jahre) wurde das Kommando list verwendet, um eine Liste von Dateien und Verzeichnissen auszugeben. Darauf basiert auch der ls-Befehl von Unix (1970er Jahre) und unixoiden Systemen (beispielsweise Linux).
Das in den 1970er Jahren auf PCs weit verbreitete Betriebssystem CP/M nutzte den DIR-Befehl, der später von 86-DOS übernommen wurde.
In der ersten Version des ROM-BASIC (Version 2) der Commodore-Heimcomputer VC20 und C64 gibt LIST die Dateiliste des zuvor mit LOAD geladenen Geräts aus (z. B. LOAD "$",8 für das Diskettenlaufwerk). Spätere Versionen bieten zusätzlich den Befehl DIRECTORY (BASIC-Version 3.5) und CATALOG (ab Version 4).
In der PowerShell existiert der dir-Befehl als Alias und verweist auf den Befehl Get-ChildItem.