it-swarm.com.de

Wie erstelle ich ls in Windows-Eingabeaufforderung?

Ich möchte ls in der Windows-Eingabeaufforderung verwenden und den Befehl dir ausführen.

Wie kann ich das machen?

109
aF.

Du könntest:

  • erstelle eine Batch-Datei mit dem Namen ls.bat und muss nur den Befehl dir enthalten
  • füge das Verzeichnis hinzu, in dem das ls.bat Datei existiert in Ihrer PATH Umgebungsvariablen

Sie können dann ls an einer Eingabeaufforderung ausführen.

115
hmjd

Sie können diese Frage mit einem einfachen Befehl lösen:

echo @dir %* > %systemroot%\system32\ls.bat

Stelle sicher, dass du cmd.exe als Administrator zuerst, wenn Sie auf Vista und höher sind

228
secghost

Es ist eine alte Frage, aber für die Aufzeichnung:

http://gnuwin32.sourceforge.net/packages/coreutils.htm

Gibt dir ls und noch viel mehr!

34
sipi

Der einfachste Weg, den ich gefunden habe, ist:

  1. Installieren Sie Git für Windows
  2. Fügen Sie das Verzeichnis bin von Git zu Ihrer Pfadvariablen hinzu. Meins befand sich in C:\Program Files\Git\usr\bin.
  3. Starten Sie eine Eingabeaufforderung und genießen Sie ls in seiner ganzen Pracht.
17
varagrawal

Ich habe eine Lösung, aber es ist schmutzig:

Erstellen Sie eine Datei mit dem Namen ls.bat, die nur "dir" enthält.

Legen Sie es in C:\windows\system32 (oder in ein beliebiges Verzeichnis in PATH env var).

Das sollte funktionieren!

Bearbeiten: Etwas konsistenteres: https://superuser.com/questions/49170/create-an-alias-in-windows-xp

15
STM

Wenn Sie Node.js auf Ihrem System installiert haben, können Sie es von Cash installieren, einer Bibliothek, die ich für Linux-Befehle unter Windows geschrieben habe:

npm install cash-ls -g
9
dthree

Die Windows-Eingabeaufforderung für Vista/7 lässt symbolische NTFS-Links zu. Führen Sie dann cmd.exe als Administrator aus:

mklink ls %System%\dir.exe

Richten Sie dann Ihre Umgebungsvariable PATH so ein, dass sie den Speicherort des soeben erstellten Links enthält.

Wenn Sie mehr wollen als nur den Befehl 'ls', sollten Sie cygwin untersuchen.

EDIT- Gerade realisiert dir.exe ist kein separates Programm, das funktioniert also nicht wirklich. Aber mklink und cygwin sind gute Dinge, über die man Bescheid wissen sollte.

6
buster

+1 in dem Beitrag oben, der vorschlägt, Git für Windows zu installieren und das Verzeichnis bin zu Ihren Pfadvariablen hinzuzufügen.

Auf eine andere Art und Weise erhielt ich touch, ls und viele andere UNIX-Befehle, die in cmd.exe auf meinen Windows 8- und Windows 7-Computern ausgeführt wurden.

Besuchen Sie die folgende Website, um Cygwin zu installieren

https://www.cygwin.com/install.html

Installieren Sie die 32- oder 64-Bit-Version für Ihr System. Die Standardeinstellungen und -pakete sollten das enthalten, was Sie benötigen, damit Sie nichts mehr ändern müssen, sobald Sie zum Paketbildschirm gelangen.

Kopieren Sie nach der Installation den Cygwin-Ordnerpfad in Ihre Umgebungspfadvariablen. Beispielsweise; Wenn Sie cygwin unter C:\Cygwin installiert haben, fügen Sie den Systempfadvariablen Ihrer Umgebung Folgendes hinzu:

; C:\Cygwin\bin

Auf meinem System habe ich die 64-Bit-Version installiert und der Standard-Ordnername und -pfad lautete C:\cygwin64. Daher habe ich meinen Systemumgebungspfadvariablen Folgendes hinzugefügt:

; C:\cygwin64\bin

Starten Sie Ihr Terminal neu, wenn es geöffnet ist. Geben Sie dann ls ein und Sie sehen eine Verzeichnisliste.

Weitere Informationen finden Sie im Folgenden, wenn Sie mit dem Festlegen von PATH-Umgebungsvariablen nicht vertraut sind:

Superuser Link 1

Superuser Link 2

4
jtlindsey

meine Fledermaus war unten

@dir %*

das kann cli args übertragen

ls /b
ls /w

legen Sie es in% windir% oder in ein beliebiges Verzeichnis in Ihrer% PATH% -Variable.

Stellen Sie einfach sicher, dass Sie die Datei mit ANSI-Codierung speichern :)

3
IlPADlI

sie können auch cygwin verwenden und den Befehl ls direkt zusammen mit allen anderen Unix-Befehlszeilentools verwenden, mit denen Sie möglicherweise vertraut sind.

3
Nerdtron

Wenn Sie möchten, dass cmd ls nur als Alias ​​für dir erkennt, können Sie den Befehl doskey verwenden (von diese Antwort auf Superuser ) .

Die ursprüngliche Behandlung der Befehlszeilenparameter des Befehls dir wird dadurch nicht geändert.

3
devio

Eine andere Lösung, die für mich funktioniert hat, ist nxUtils , das mehrere Dienstprogramme aus ausführbaren Dateien hinzufügt (einschließlich ls, sed und grep).

Verwendung: Download Quellcode . Entpacken. Ergänzen Sie die UnxUtils\usr\local\wbin Pfad zur Windows PATH-Variablen. Starten Sie eine neue CMD-Instanz.

2
Bird

Ich empfehle folgendes Rezept.

  1. Verwenden Sie DOSKEY und $*, um den Befehl ls zu erstellen.
  2. Stellen Sie sicher, dass der Befehl dauerhaft gespeichert wird, indem Sie ihn in einer .bat/.cmd-Datei aufzeichnen und den Pfad der Datei zur Registrierung hinzufügen.

Zum Beispiel könnte Ihr Befehl so aussehen
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$* ist nützlich für Befehle, die Argumente annehmen. Zum Beispiel möchte ich hier sublime my_code.c.

Die Registrierung für cmd befindet sich unter HKEY_CURRENT_USER -> Software -> Microsoft -> Command Processor. Erstellen Sie einen Eintrag mit einem String-Wert namens AutoRun mit dem vollständigen Pfad der Datei (nicht des enthaltenen Ordners) wie %USERPROFILE%\custom_command.cmd. Dann wird jedes Mal, wenn cmd ausgeführt wird, Ihr Befehl geladen!

Sie können der Batch-Datei auch weitere nützliche Dinge hinzufügen. Siehe hier für eine Beispielvorlage.

1
Argyll

Sie können dieser Anleitung folgen: https://Gist.github.com/vladikoff/38307908088d58af206b

TL; DR : pass /K path/to/custom/init_cmd.bat zu Ihrem "Shell Startup" Befehl.

Ich verwende ConsoleZ als Shell-Wrapper. In meinem Fall kann ich die Setup-Option unter "tabs" finden. Dann setze ich den Shell-Pfad auf "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""so .

Woher C:\cmd_init.bat ist das Batch-Skript, das meine Makros enthält. Dafür würde ich Folgendes tun:

@echo off

doskey ls=dir /b
rem other macro stuff..

Entschuldigung für die Formatierung und andere Fehler, ich antworte hier zum ersten Mal. Ich hoffe, es hilft!

0
jred_kai

Jemand, der Linux-Subsystem für Windows verwendet, kann ls aus der Linux-Bash aufrufen. Der folgende Befehl erstellt den Befehl ls in System32:

echo @bash -c "ls %*" > %systemroot%\system32\ls.bat

(Die Linux-Subsystem-Funktion muss zuerst aktiviert/installiert werden.)

0
A. Markóczy

Sicherlich würde ls nicht als Unix-Befehl für die Batches funktionieren. Wenn Sie% 1 auf -l oder -a usw. und alle Kombinationen davon prüfen, würde es funktionieren ...

0
docowhocool