I want to use ls in windows command prompt and make it run the dir command.
How can I do that?
I want to use ls in windows command prompt and make it run the dir command.
How can I do that?
You could:
ls.bat
and have it contain the dir
command onlyls.bat
file exists to your PATH
environment variableYou could then execute ls
from a command prompt.
ls dir
? I think you would need to modify the ls.bat
to handle args... or you could try aliases: superuser.com/questions/49170/create-an-alias-in-windows-xp –
Reeta You can solve this question with one simple command:
echo @dir %* > %systemroot%\system32\ls.bat
Make sure you run cmd.exe
as admin first if you are on vista and up
echo cls > %systemroot%\system32\clear.bat
–
Daley You could:
ls.bat
and have it contain the dir
command onlyls.bat
file exists to your PATH
environment variableYou could then execute ls
from a command prompt.
ls dir
? I think you would need to modify the ls.bat
to handle args... or you could try aliases: superuser.com/questions/49170/create-an-alias-in-windows-xp –
Reeta Its an old question but for the record:
http://gnuwin32.sourceforge.net/packages/coreutils.htm
Gives you ls and a whole lot more!
ls *
and dir *
don't do the same thing, so aliasing dir is a bit pants. –
Brecciate C:\Program Files (x86)\GnuWin32\bin
to your path –
Mayor Easiest way I have found is:
bin
directory of Git to your Path variable. Mine was located in C:\Program Files\Git\usr\bin
.ls
in all its glory.ls
and all it's optional arguments. Just a slight update, I have installed the latest version of git for windows and the ls.exe can now be found in C:\Program Files\Git\ usr \bin –
Unrig I have a solution but it's dirty:
Create a file named ls.bat containing only "dir".
Put it in C:\windows\system32 (or any directory in PATH env var).
That (should) works!
Edit: Something more consistent: https://superuser.com/questions/49170/create-an-alias-in-windows-xp
If you have Node.js installed on your system, you can install it from Cash, a library I wrote for Linux commands on Windows:
npm install cash-ls -g
npm install cash-global -g
. Would be great to add ls -l
as ll
(LL) also. –
Willemstad Windows command prompt for Vista/7 will allow NTFS symbolic links, run cmd.exe as administrator then:
mklink ls %System%\dir.exe
Then set up your PATH environment variable to include the location of the link you just created.
If you want more than just the 'ls' command, you should look into cygwin.
EDIT- Just realized dir.exe
is not a separate program, so this doesn't really work. But mklink
and cygwin are good things to know about.
If you just want to have cmd recognize ls
as an alias for dir
, you can use the doskey
command (from this answer on superuser).
This does not change the original command line parameter handling of the dir command.
my ls.bat was below
@dir %*
that can transfer cli args
ls /b
ls /w
put it in %windir% or any directory in your %PATH% variable.
Just make sure you save the file with ANSI encoding :)
+1 on the post above suggesting to install git for windows and add the directory bin to your path variables.
Another way I got touch, ls, and a lot of other UNIX commands working in cmd.exe on my Windows 8 and Windows 7 machines.
Go to the following site to install Cygwin
https://www.cygwin.com/install.html
Install the 32 or 64 bit version for your system. The default settings and packages should include what you need so you don't have to change anything once you get to the packages screen.
After installation, copy the Cygwin folder path to your environment path variables. For example; if you installed cygwin to C:\Cygwin, you will add the following to your environment system path variables:
;C:\Cygwin\bin
On my system I installed the 64bit version and the default folder name and path was C:\cygwin64. So i added the following to my system environment path variables:
;C:\cygwin64\bin
Restart your terminal if it's open. Then type ls and you'll see a directory listing.
See the following if you are not familiar with setting PATH environment variables:
you could also use cygwin and just use the ls command directly along with all the other unix command line tools you might be used to.
C:\Program Files\Git\usr\bin
to your path variablenow you can use ls
I recommend the following recipe.
DOSKEY
and $*
to create your ls
command. For example, your command may look like
DOSKEY ls=dir
DOSKEY sublime="C:\Program Files\Sublime Text 2\sublime_text" $*
$*
is useful for commands that take on arguments. For example, here I like to be able to do sublime my_code.c
.
The registry for cmd is at HKEY_CURRENT_USER -> Software -> Microsoft -> Command Processor. Create a string valued entry called AutoRun with the full path of the file (not the containing folder) such as %USERPROFILE%\custom_command.cmd
. Then each time cmd is run, your command will be loaded!
You can add more useful stuffs to the batch file too. See here for an example template.
Another solution that worked for me is to use UnxUtils, which adds multiple utilities from executable files (including ls
, sed
, and grep
).
To use: download source code. Unzip. Add the UnxUtils\usr\local\wbin
path to the Windows PATH variable. Start a new CMD instance.
Someone who uses Linux Subsystem for Windows could call ls
from the Linux bash. The following Command creates the ls
Command in System32:
echo @bash -c "ls %*" > %systemroot%\system32\ls.bat
(The Linux Subsystem feature must be enabled/installed first)
You could follow this guide: https://gist.github.com/vladikoff/38307908088d58af206b
TL;DR: pass /K path/to/custom/init_cmd.bat
to your "shell startup" command.
I'm using ConsoleZ as my shell wrapper, so in my case I can find the setup option in "tabs", then I set the shell path to "C:\Windows\System32\cmd.exe "/K C:\cmd_init.bat""
like this.
Where C:\cmd_init.bat
is the batch script containing my macros, here's what I would go for:
@echo off
doskey ls=dir /b
rem other macro stuff..
Sorry for formatting and other mistakes, this is my first time answering here. I hope it helps!
Create an alias in .bat or .cmd file using doskey
key:
@echo off
title "ls command cmd bar"
doskey ls=echo off $T dir $* $T echo on
Enjoy =)
Surely ls would not work as a unix command for the batches. If you check %1 for -l or -a etc. and all combinations of them, it would work...
Here is my C# source code and binary.
Just add ls.exe somewhere and add the path to the path environment variable.
© 2022 - 2024 — McMap. All rights reserved.