Memories we all share.
What year is this from? You absolutely can use ls in a windows command prompt now.
Yes in Windows Server since, IIRC, 2012". No in Windows client versions.
I’m so used to Server commands I sometimes am surprised when commands like
logoff
don’t work.As of Aug 26, 2023, Windows command prompt absolutely does not recognize “ls” as a command.
Powershell is a different story.
Source: I type “ls” 40 times a day into a command prompt on my up-to-date win10 PC at work.
Out of curiosity what do you do to frequently end up with cmd? I don’t think I’ve touched it in many years at this point.
It’s my own fault, and the result of 30+ years of muscle memory building up. Plus, while I agree cmd isn’t nearly as powerful as powershell or wsl can be, when I’m in Windows it’s still the fastest way for me to do 90% of the simple things I need to do. I have a long history with it, and a thorough understanding of it, so I don’t really need to think for most of the things I’m doing there.
If I need to script something, or do anything that seems like it would be annoying to do in CMD, I hop into WSL pretty quickly and get to work with bash or python. The problem I have now is that I’ve developed a little muscle memory there as well… hence my issue with entering ‘ls’ everywhere.
Lately I’ve been using it as a simple way to drag and drop a source .tar.xz archive on a .bat file so it can be twice extracted, moved, renamed, have dependencies downloaded by git, run a cmake process, do a visual studio compile, then move the result release directory back to where the .bat file is while removing unneeded files and adding new ones.
cmd and batch still has its uses.
I literally just typed it into cmd.exe on Windows 10, fully updated, and it absolutely did work. No idea why it doesn’t work for you.
edit: ???
edit: it’s been traced back to this:
https://github.com/devkitPro/installer/releases
which is an emulator toolset that I didn’t know existed on my system until today.
That is interesting. I just remoted into 5 different machines at the office and none of them worked with ‘ls’. If you enter ‘ls /?’, does it give you a synopsis and argument list?
If I do “ls /?” it returns no such file or directory, but just “ls” performs exactly as you’d expect. I haven’t installed anything to provide that function that I know of. It never occurred to me that I would have to because as far as I know it’s always worked. Until today I just assumed it had become a standard command and never investigated. Was just happy I could use the same command in cmd and on my Pi box.
Mystery solved, ls works for me due to this:
https://github.com/devkitPro/installer/releases
which is a toolset that was installed by an emulator package somewhere along the line, I just didn’t know it was there.
Thanks for letting us know!
Lmao
I can’t remember doing anything and “ls” works for me
Probably using Powershell, or you added it. Ls definitely doesn’t work in windows 10 or 11 in cmd.
I’m still confused.
Bone stock windows 11. Like I have everyone else has said, you have done something to add it to cmd. It isn’t, and has never been in cmd.
EDIT:
Try this. in CMD type in
where LS
E:\>where ls f:\Git\usr\bin\ls.exe
Mystery solved
Ok, getting past the dickish, completely unhelpful first part of your reply (as you can see in the comments, not EVERYONE was saying that), the second part helped me trace it back to this:
https://github.com/devkitPro/installer/releases
which is a toolset that I never intentionally installed, and was evidently added by an emulator package without me knowing where it was or what it did.
So thank you for (eventually) helping me find what it was, and now you and others know how to add it to cmd and don’t have to complain about its absence.
No it works in cmd. I didn’t add it intentionally atleast. Never even tried to use it till now.
Bone stock windows 11. It isn’t, and has never been in cmd.
deleted by creator
It works on Powershell but not with CMD.
That’s a problem when using NeoVim on windows
The year is 2023, if you’re still using CMD or batch files still that’s on you. It’s like riding a horse down a freeway and yelling at cars.
That is a fair statement, but also a different topic.
I am thankful to live in an age with WSL.
deleted by creator
ok boomer?
Sometimes you just need a quick ipconfig or nslookup, or a simple scheduled shutdown /s /f /t 00
You can still do those in PowerShell. Just saying.
Yeah, but it’s muscle memory at this point
Win+r
Cmd
Ipconfig
Gonna take some time to get my hands to type wt instead of cmd
Win+X i ipconfig
deleted by creator
https://duckduckgo.com/?q=gnu+utils+for+windows&t=fpas&ia=web
That’s what I used, back when I still had MS-Windows installed…
feels good to say “it’s been years”, tho…
( :
_ /\ _
use powershell (specifically the core version!!!), or even better something like Nu shell
In Linux?
Why use cmd in Linux?
Because Wine makes it possible ;)
Nah, mine was a joke on how Microsoft published Powershell on Linux and somehow thought that anyone was gonna use it.
The OpenTTD community does sometimes. Not that it matters much.
But what about Linux subsystem for windows tho
I think you mean the Windows Linux for Subsystem
It’ll always be “Bad command or file name” to me.
Cmd? What century is this? Use powershell
I’ve found that powershell doesn’t play nice with many command line developer tools so cmd it is.
Takes way too long to open, have weird issues all the time
Thank Microsoft for PowerShell
God everytime!
sfc/scannow
Add ls.bat in your windows directory with dir as the source. It basically acts as an alias.
Still won’t help me when I type
ifconfig
ordig
, though.Also I’ve noticed there is also a curl in Windows CLI that I believe is based on libcurl, but when called from powershell is an alias for (iirc)
Invoke-WebRequest
.I came across this one just yesterday and while it was convenient at first, I immediately got frustrated when I went to add some parameters and discovered it wasn’t actually
curl
Classic PoweShell experience. Try
rm -rf
- I wonder why they added the aliases in the first place. Only frustrating to type different arguments which are also more verbose. Tastes like the good ol’ embrace-extend-extinguish.
ifconfig doesn’t even work in a lot of Linux distros anymore.
Yes but it can do “cd…”
I like that you actually can ls in power shell now
As long as you don’t have
ls
aliased tols -la
in your brain…Yes, yes you can.
Also, WSL and windows terminal go a very long way in making windows actually usable…
Just add Winget with an UI to have a proper package manager and we’re in
Package manager with a UI? I like my apt and dnf thank you very much.
I use pacman btw
You can still use winget by itself from the command line! The UI is just there for convenience and automation
The UI is just there for … automation
Wut?
I’ve never gone to a UI when I want to automate something, a sane CLI is much more predictable and consistent.
Winget-UI specifically can run the upgrade tool automatically for you, that’s what I meant for “automation”. You could also add a scheduler to run Winget by itself every day if you need to.
It annoys me to no end that winget is a consumer only thing and not for the enterprise. It would be so useful in the enterprise….
I’ve just been using scoop for many years and I haven’t felt the need to switch
“Usable” is a strong statement… It went from a “misery inducing insufferable machine” to a “extremely big annoyance”. I do concede it is anyway a progress
yeah
I’m so sorry but this is how I pictured your response lmao
lol
Oh man, it comes full circle
PowerShell 7 is pretty sweet ngl
I really want to love the “everything is an object” of power shell but I just have zero uses for using a shell on windows. Granted, my windows usage is like 15 minutes a week most of the time, but still. I also can’t be bothered to use it for work because it’s exclusively Linux/linux-ish over there so it’s not worth bothering.
Either way, I like the idea, can’t really justify figuring out the details.
If you only have to use it 15 minutes every week it’s probably not worth getting to know.
I work in a Windows shop, so I love everything being an object, most of the time. At least for the things that are worked out completely.
It’s great for things you need to iterate or just for figuring out what you can do by piping a result to get-member. If you are interested in getting better at powershell at some point, I highly recommend Powershell in a month of lunches. (Also because I like Manning’s model where they automatically offer the digital versions of books they sell, and also offering free previews of the entire book, given enough time)
“But PS is open source ! Don’t you want to use it in Linux and MacOS?” - Microsoft probably
It’s a wonderful tool for me in a Windows environment/shop, especially with how it works well with all the Windows and Microsoft administration systems/tools we use.
Personally, I’m less interested in any language’s hypothetical merits than how it fits as a tool for what I need to accomplish and ease of future maintenance when the script/program/automation inevitably needs to be adjusted.
All that said, I can’t think of a legitimate reason to use PSCore on non-Windows hardware unless you’re just really familiar with PS and literally nothing else. Even then you’re better off taking time learning a better tool for that environment.
That’s a very good point. My angle is as a dev and not as IT or sys admin. Power shell is probably far more powerful in those circles.
WSL or bust
If you can suppress 30 years of " -al" from following his buddy.
That’s actually “-la”, pal.
I’m “-lahv”, “alias l=‘ls -lahv’”
Updating pacman is always
pacman -yuS
yuS, it is!
Yeah but tbh i really despise powershells syntax. But i’m happy it is pretty powerful.
Unfortunately, bash syntax isnt amazing either
Bash came out decades ago and powershell is brand new. It doesn’t really have an excuse to suck.
I hope I didn’t come across as defending ps. PS sucks and whoever decided to have functions use capital case with dashes in between needs to have their brain scanned
I do a lot of work in PS and I don’t find it that bad. But you forgot what’s even dumber about their function naming conventions.
Function names are supposed to be a single word verb, then the dash, then the rest. But not any verb, you’re supposed to use one from PS’s list of acceptable ones which has some really weird omissions. And they break their own single word verb convention with “acceptable verbs” ConvertTo and ConvertFrom (ConvertTo-SecureString, ConvertFrom-Json), which are the only exception to one word verbs before the dash.
Function names are definitely one of my biggest peeves with it.
Additionally, their basic comparison operators are dumb as hell. How is “-le” better or clearer in meaning that “<=”? -ne instead of !=, but == isn’t just -e, it’s -eq. And you can’t slap an n in front of other comparators for not, -nle isn’t a thing. You gotta wrap the whole comparison in parentheses and slap an ! on the front or slap -not in front. But don’t try to do !-le, because that’s also not a thing. It’s not terrible but I refuse to believe that -eq is more readable than ==
Functionally speaking, PS is a really good shell language. Its minor things about it that I dont enjoy. As you said, it feels like the language design has some poor decisions.
But Powershell is worse
Yeah. I’ve said this before and got grilled for it but I wish there was a shell scripting language that doesn’t have arcane syntax.
Fish? I like fish.
Can anyone name any living language, scripting or otherwise, without arcane syntax?
Perl, no wait you said without arcane syntax…
i’m often amazed at microsoft’s ability to take a useful product and make it agonizing to use
Also rm, cat, mkdir, cd, curl, what else
mkdir is literally a DOS command homie.
Isn’t it
md
andmkdir
is just an alias in Powershell to accommodate Linux users?Every command that isn’t fully expanded PowerShell commands is an alias.
dir
andls
are both aliases forGet-ChildItem
.Yeah posh has lot of aliases by default to make it more “friendly”. mkdir is just new-item -type directory or whatever.
Also curl is just alias for invoke-webrequest and works nothing like curl
MD and MKDIR are ancient DOS commands.
I didn’t actually know this, thanks for pointing out
Fair enough 👍
echo @dir %1 %2 %3>%windir%\system32\ls.bat
Something like that should fix the problem, I think…
:puke:
You’re no fun…
%0|%0
Not gonna lie I love easily readable scripts. Powershell was my first, and as much pain it can be it’s for sure readable even for the most novice.
Maybe that’s why I love Python too, but have hard time learning sh past very basics…
Edit: oh lol that’s a fork bomb, curiosity won and had to ddg what that is. Love the simplicity of that
Haha!
Old-school fork bomb, at least it doesn’t do anything but bog the system down…
Dir?
Mir?
Mir nichts, dir nichts
Achso, schade, aber kann man nichts machen
Tja
Well that’s rude…
Too many letters
Why are DOS commands always so verbose?
Wait till I tell you about Pause
deleted by creator
Old habits die hard, that’s the first alias on my list in .zshrc!
^L
what did you say? say that again to my face, I dare you.
I apologize. I didnt mean to offend anyone!
Just makes the command prompt climb into a hole