Domanda

Voglio usare LS nel prompt dei comandi Windows e farlo eseguire il comando DIR.

Come lo posso fare?

È stato utile?

Soluzione

Potresti:

  • Crea un file batch chiamato ls.bat e fallo contenere il dir Solo comando
  • Aggiungi la directory in cui il ls.bat Il file esiste per il tuo PATH variabile d'ambiente

Potresti quindi eseguire ls da un prompt dei comandi.

Altri suggerimenti

Puoi risolvere questa domanda con un semplice comando:

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

Assicurati di correre cmd.exe come amministratore prima se sei su Vista e su

È una vecchia domanda ma per la cronaca:

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

Ti dà LS e molto di più!

Il modo più semplice che ho trovato è:

  1. Installare Git per Windows
  2. Aggiungi il bin Directory di Git al tuo percorso variabile. Il mio era situato in C:\Program Files\Git\usr\bin.
  3. Avvia un prompt dei comandi e divertiti ls In tutta la sua gloria.

Ho una soluzione ma è sporca:

Crea un file denominato ls.bat contenente solo "dir".

Mettilo in C: Windows System32 (o qualsiasi directory in Path env var).

Quello (dovrebbe) funziona!

EDIT: qualcosa di più coerente: https://superuser.com/questions/49170/create-an-alias-in-windows-xp

Se hai Node.js installato sul tuo sistema, puoi installarlo da Contanti, una libreria che ho scritto per i comandi Linux su Windows:

npm install cash-ls -g

Il prompt dei comandi di Windows per Vista/7 consentirà collegamenti simbolici NTFS, esegui CMD.EXE come amministratore: quindi:

mklink ls %System%\dir.exe

Quindi impostare il percorso Variabile di ambiente per includere la posizione del link che hai appena creato.

Se vuoi più del semplice comando "LS", dovresti esaminare Cygwin.

EDIT- appena realizzato dir.exe Non è un programma separato, quindi questo non funziona davvero. Ma mklink E Cygwin sono cose buone da sapere.

+1 sul post sopra, suggerendo di installare Git per Windows e aggiungere il contenitore della directory alle variabili del percorso.

Un altro modo in cui ho avuto tocco, LS e molti altri comandi UNIX che lavorano in cmd.exe sulle mie macchine Windows 8 e Windows 7.

Vai al seguente sito per installare Cygwin

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

Installa la versione a 32 o 64 bit per il tuo sistema. Le impostazioni e i pacchetti predefiniti dovrebbero includere ciò di cui hai bisogno in modo da non dover cambiare nulla una volta arrivata alla schermata dei pacchetti.

Dopo l'installazione, copiare il percorso della cartella Cygwin nelle variabili del percorso ambientale. Per esempio; Se hai installato Cygwin su C: Cygwin, aggiungerai quanto segue alle variabili del percorso del sistema ambientale:

; C: cygwin bin

Sul mio sistema ho installato la versione a 64 bit e il nome e il percorso della cartella predefiniti erano C: Cygwin64. Quindi ho aggiunto quanto segue alle variabili del percorso ambientale di sistema:

; C: cygwin64 bin

Riavvia il tuo terminale se è aperto. Quindi digita LS e vedrai un elenco di directory.

Vedi quanto segue se non hai familiarità con le variabili di ambientazione del percorso di impostazione:

Superuser Link 1

Superuser Link 2

Se vuoi solo che CMD riconosca ls come alias per dir, puoi usare il doskey comando (da Questa risposta su Superuser).

Ciò non modifica la gestione dei parametri della riga di comando originale del comando DIR.

Potresti anche usare Cygwin E basta utilizzare il comando LS direttamente insieme a tutti gli altri strumenti di riga di comando Unix che potresti essere abituato.

Il mio ls.bat era sotto

@dir %*

che può trasferire CLI Args

ls /b
ls /w

Mettilo in % Windir % o qualsiasi directory nella variabile % percorso %.

Assicurati solo di salvare il file con codifica ANSI :)

Consiglio la seguente ricetta.

  1. Uso DOSKEY e $* per creare il tuo ls comando.
  2. Rendi il comando persistente registrandolo in un file .bat/.cmd e aggiungere il percorso del file al registro.

Ad esempio, il tuo comando potrebbe sembrare
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$* è utile per i comandi che assumono argomenti. Ad esempio, qui mi piace essere in grado di fare sublime my_code.c.

Il registro per CMD è su HKEY_Current_User -> Software -> Microsoft -> Processore di comando. Crea una voce valutata in stringa chiamata Autorun con il completo percorso del file (non la cartella contenente) come %USERPROFILE%\custom_command.cmd. Quindi ogni volta che CMD viene eseguito, il comando verrà caricato!

Puoi aggiungere anche cose più utili al file batch. Vedere qui Per un modello di esempio.

Un'altra soluzione che ha funzionato per me è usare Unxutili, che aggiunge più utilità da file eseguibili (incluso ls, sed, e grep).

Da usare: download codice sorgente. Decomprimere. Aggiungi il UnxUtils\usr\local\wbin Percorso alla variabile del percorso di Windows. Avvia una nuova istanza CMD.

Sicuramente LS non funzionerebbe come comando UNIX per i lotti. Se controlli %1 per -l o -a ecc. E tutte le combinazioni di esse, funzionerebbe ...

Potresti seguire questa guida:https://gist.github.com/vladikoff/38307908088d58af206b

Tl; dr: passaggio /K path/to/custom/init_cmd.bat al tuo comando "Shell Startup".

Sto usando Consolez come mio wrapper Shell, quindi nel mio caso posso trovare l'opzione di configurazione in "schede", quindi ho impostato il percorso di shell su "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat"" come questo.

Dove C:\cmd_init.bat è lo script batch contenente le mie macro, ecco cosa vorrei scegliere:

@echo off

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

Ci scusiamo per la formattazione e altri errori, questa è la prima volta che rispondo qui. Spero possa essere d'aiuto!

Qualcuno che usa il sottosistema Linux per Windows potrebbe chiamare ls Dalla bash di Linux. Il seguente comando crea il file ls Comando in System32:

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

(La funzione del sottosistema Linux deve essere prima abilitata/installata)

Ecco il mio C# Codice sorgente e binario.

Basta aggiungere ls.exe da qualche parte e aggiungere il percorso alla variabile dell'ambiente del percorso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top