Hvordan oprettes ls i Windows kommandoprompt?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg vil bruge ls i Windows kommandoprompt og få det til at køre dir kommandoen.


Hvordan kan jeg gøre det?

Bedste reference


Du kunne:



  • Opret en batchfil kaldet ls.bat og få den kun indeholdt kommandoen dir

  • Tilføj mappen, hvor filen ls.bat findes i din PATH miljøvariabel



Du kan derefter udføre ls fra en kommandoprompt.

Andre referencer 1


Du kan løse dette spørgsmål med en enkelt kommando:


echo @dir \%* > \%systemroot\%system32ls.bat


Sørg for at du kører cmd.exe som admin først, hvis du er på vista og op

Andre referencer 2


Det er et gammelt spørgsmål, men for posten:


http://gnuwin32.sourceforge.net/packages/coreutils.htm[36]


Giver dig ls og meget mere!

Andre referencer 3


Jeg har en løsning, men det er snavset:


Opret en fil med navnet ls.bat, der kun indeholder 'dir'.


Sæt det i C: \ windows \ system32 (eller nogen mappe i PATH env var).


Det (bør) virker!


Rediger: Noget mere konsistent: https://superuser.com/questions/49170/create-an-alias-in-windows-xp[37]

Andre referencer 4


Den nemmeste måde jeg har fundet er:



  1. Installer Git til Windows

  2. Tilføj mappen bin af Git til din sti-variabel. Mine var placeret i C:Program FilesGitusrin.

  3. Start en kommandoprompt og nyd ls med al sin herlighed.


Andre referencer 5


Hvis du har Node.js installeret på dit system, kan du installere det fra Cash, et bibliotek jeg skrev til Linux-kommandoer på Windows: [38] [39] [40]


npm install cash-ls -g

Andre referencer 6


Windows kommandoprompt til Vista/7 tillader NTFS symbolske links, kør cmd.exe som administrator derefter:


mklink ls \%System\%dir.exe


Derefter skal du oprette din PATH-miljøvariabel for at inkludere placeringen af ​​det link, du lige har oprettet.


Hvis du vil have mere end blot kommandoen 'ls', skal du se på cygwin. [41]


EDIT-Just realized dir.exe er ikke et særskilt program, så det virker ikke rigtigt. Men mklink og cygwin er gode ting at vide om.

Andre referencer 7


Hvis du bare vil have cmd genkende ls som et alias for dir, kan du bruge kommandoen doskey (fra dette svar på superbrugeren). [42]


Dette ændrer ikke den oprindelige kommandolinjeparameterhåndtering af dir-kommandoen.

Andre referencer 8


Du kan også bruge cygwin og bare bruge kommandoen ls direkte sammen med alle de andre Unix-kommandolinjeværktøjer, du måske er vant til. [43]

Andre referencer 9


min lsbat var under


@dir \%*


der kan overføre cli args


ls /b
ls /w


sæt det i\% windir\% eller enhver mappe i din\% PATH\% variabel.


Bare sørg for at gemme filen med ANSI-kodning :)

Andre referencer 10


+1 på posten ovenfor, der foreslår at installere git for windows og tilføje mappen til dine sti-variabler.


En anden måde, jeg fik touch, ls og mange andre UNIX-kommandoer, der arbejder i cmd.exe på mine Windows 8 og Windows 7 maskiner.


Gå til følgende websted for at installere Cygwin


https://www.cygwin.com/install.html[44]


Installer 32 eller 64 bit version til dit system. Standardindstillingerne og pakkerne skal indeholde hvad du har brug for, så du behøver ikke ændre noget, når du kommer til pakken.


Efter installation skal du kopiere Cygwin-mappebanen til dine miljøvejsvariabler. For eksempel; Hvis du installerede cygwin til C: \ Cygwin, vil du føje følgende til dine miljøsystem path variabler:


; C: \ Cygwin \ bin


På mit system installerede jeg 64bit versionen, og standardmappenavnet og stien var C: \ cygwin64. Så jeg tilføjede følgende til mine systemmiljø sti variabler:


; C: \ cygwin64 \ bin


Genstart din terminal, hvis den er åben. Skriv derefter ls, og du vil se en katalogfortegnelse.


Se følgende, hvis du ikke er bekendt med at indstille PATH-miljøvariabler:


Superbruger Link 1 [45]


Superbruger Link 2 [46]

Andre referencer 11


Jeg anbefaler følgende opskrift.



  1. Brug DOSKEY og $* til at oprette din ls kommando.

  2. Gør kommandoen vedholdende ved at optage den i en .bat/.cmd-fil og tilføj stien til filen til registreringsdatabasen.



For eksempel kan din kommando se ud som

         DOSKEY ls=dir

         DOSKEY sublime="C:Program FilesSublime Text 2sublime\_text" $*

$* er nyttig til kommandoer, der tager argumenter. For eksempel kan jeg lide at kunne gøre sublime my\_code.c.


Registreringsdatabasen for cmd er hos HKEY\_CURRENT\_USER -> Software -> Microsoft -> Command Processor. Opret en strengværdieret post kaldet AutoRun med filen fuld i filen (ikke den indeholdende mappe) som \%USERPROFILE\%custom\_command.cmd. Så hver gang cmd køres, vil din kommando blive indlæst!


Du kan også tilføje flere nyttige ting til batchfilen. Se her for en eksempelskabelon.

Andre referencer 12


Sikkert ville jeg ikke arbejde som en Unix-kommando for partierne. Hvis du tjekker\% 1 for -l eller -a osv. Og alle kombinationer af dem, ville det fungere ...

Andre referencer 13


Du kan følge denne vejledning:
https://gist.github.com/vladikoff/38307908088d58af206b[48]


TL; DR : send /K path/to/custom/init\_cmd.bat til din 'shell startup' kommando.


Jeg bruger ConsoleZ som min shell wrapper, så i mit tilfælde kan jeg finde opsætningsindstillingen i 'faner', så sætter jeg stien til "C:WindowsSystem32cmd.exe "/K C:cmd\_init.bat""
sådan her. [49]


Hvor C:cmd\_init.bat er batch scriptet indeholder mine makroer, her er hvad jeg ville gå til:


@echo off

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


Undskyld for formatering og andre fejl, dette er min første gang at svare her.
Jeg håber det hjælper!

Andre referencer 14


En anden løsning, der fungerede for mig, er at bruge UnxUtils, som tilføjer flere værktøjer fra eksekverbare filer (inklusive ls, sed og grep). [50]


For at bruge: download kildekode. Unzip. Tilføj UnxUtilsusrlocalwbin stien til Windows PATH-variablen. Start en ny CMD-forekomst. [51]

Andre referencer 15


Her er min C # kildekode og binære. [52]


Tilføj blot ls.exe et sted og tilføj stien til stien miljøvariablen.


[53]