dir oder DIR ist ein Kommandozeilen-Befehl, der den Inhalt von Verzeichnissen (englisch directories) eines Speichermediums ausgibt. Unter anderem wird er in den BetriebssystemenDOS, 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.[1]
DIR – bei MS-DOS und Windows üblicherweise ohne Beachtung der Groß- und Kleinschreibung, eingedeutscht mit case-insensitiv bezeichnet – war in Tim Patersons86-DOS enthalten und ist einer der sieben Kommandozeilenbefehle, die seit der ersten Ausgabe von MS-DOS verfügbar sind.[2]
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:
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 (englischpauses).
Zeigt außer dem aktuellen Verzeichnis auch alle Unterverzeichnisse an (englischsubdirectories).
/T
Definiert, welche Zeitangaben ausgegeben werden sollen (nur Windows NT) (englischtime).
/TC = Zeitpunkt der Erstellung einer Datei oder Ordners (englischcreated on) /TA = Zeitpunkt des letzten Zugriffs auf eine Datei oder Ordner (englischaccess) /TW = Zeitpunkt der letzten Bearbeitung einer Datei oder Ordners
/W
Ausgabe als mehrspaltige Liste, nach Reihe sortiert (englischwide 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-HeimcomputerVC20 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.[3]