|
Powershell imho is bat files on steroids. I've looked at it, and well
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
But the real question is:
"Why did the chicken crossed the road?", I betcha you haven't considered that first!
|
|
|
|
|
.BAT files have their uses for quick-and-dirty problems.
I agree that PowerShell is much more powerful, but 99%+ of the time, its power is unnecessary for my uses.
The only advantage that ports of Unix/Linux shells could offer is compatibility with Linux scripts. However, these must typically be rewritten to allow for differing filename formats, missing tools in the Windows environment, etc. so this advantage is illusory.
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
You have to remember that .BAT files were invented in the days of floppy disks and command lines, when you didn't want to create a C program that included a 50K library file in order to sort a directory listing by modification date then print it to the display in pages; and another to do it in reverse size order; and another of only show the "ACC*.CSV" files the same way, and ...
That they still work at all, and are of any use - and they are, occasionally I'm sure even if I personally haven't used one in decades - is a testament to just how well they were designed in the first place!
The world has moved on, is all - so we expect more power, more flexibility, better structure.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Because I spend a lot of time using Linux I have a few .bat files on my Windows boxes that mirror my Linux common and aliased commands. I would love Windows to support aliases.
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
I tried to install 4DOS on my Win10 box the other week so I could use aliases. Should I just die in shame?
|
|
|
|
|
Ah yes! 4DOS. That brings me back a way.
|
|
|
|
|
|
truth. The group I work in has a lot of old guys (me included) with some less old guys and one youngster.
The old guys handle the builds and, well, they use BAT files. I'm taking a crash course on python now.
I just want to be able to predictably form strings and what not.
Note: first poster indicated I missed the RANT button. Most of the ranting is at myself.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
BAT for scripting? Bleargh.
BAT for quick automation? Gold.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
I'm curious to hear the difference in their definitions.
|
|
|
|
|
Scripting is programming the shell, with complex logic (i.e. conditions, loops, etc).
Quick automation to me means executing a simple sequence of commands with their parameters, with only a very small amount of logic (i.e. setting relative paths, file names and in some cases checking some return value). It's a quick macro, a shortcut to avoid typing dozens of characters.
GCS d--(d+) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
It's odd how definitions tend to change with time.
When I studied automation many many years ago, scripting was one of the tools available to achieve the task... today it seems to be a cron job.
|
|
|
|
|
I still use them, they are just so easy to work with compared to the "wonderful" Powershell.
|
|
|
|
|
And me - if you're going to use the advanced PS stuff you might as well write a proper compiled program
"I didn't mention the bats - he'd see them soon enough" - Hunter S Thompson - RIP
|
|
|
|
|
I have actually found a few occasions when a Powershell script of three or four lines did what in C would have needed at least 30 to 50 lines. The main problem I have with Powershell is learning it properly.
|
|
|
|
|
And then you run into things like PowerShell is disabled because users can't be trusted not to destroy the systems with it.
|
|
|
|
|
lol, this is in fact an issue. Trying to explain to the IT department that we MUST have local admin access.
We've finally developed a trained set of IT professionals that understand we accept the big boy warranty.
Charlie Gilley
<italic>Stuck in a dysfunctional matrix from which I must escape...
"Where liberty dwells, there is my country." B. Franklin, 1783
“They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759
|
|
|
|
|
How should I compile without batch files ?
I like them. Back in the years, I even made quite powerful things with batches ( against all best practices of coding, of course. Batch is organized chaos).
|
|
|
|
|
Batch files rule!!
I still depend upon them and have done for well over 30 years. How many other technologies "just work" for over three decades?
- I would love to change the world, but they won’t give me the source code.
|
|
|
|
|
I love the answers to this.
For everything someone hates (except maybe linq)
there are at least a person or 15 that loves it.
I personally use BAT files all the time. Like someone said. Perfect for automation of something simple, IE copy file1 to file location2 at this time everyday.
I also use Powershell a ton. It works it is difficult to learn and get accustomed to. But it is powerful.
When in Linux I use your good old shell scripts. Those are awesome. But I am stuck with bat and winders powershell at work.
Also, love that comment about powershell security for some people to keep them from shooting themselves in the foot. HAHAHAHA
To err is human to really elephant it up you need a computer
|
|
|
|
|
Bat/cmd files are and always will be the easiest way to automate the command line. Many times, it's even easier to use a bat file in task scheduler than it is to try and get the commands working with task scheduler, especially if there are multiple commands or maybe other considerations. The right tool for the job, as always.
As far as in depth scripting, everyone knows the best tool is vbscript. When that fails, bust out the Visual Studio...or sometimes powershell once in a blue moon.
|
|
|
|
|
It appears it was Tim Paterson and he's not dead yet https://www.youtube.com/watch?v=uBxMPqxJGqI. So, you'll have to wait.
My company has been using some .bat files for certain things and they still work decades later, never needing an update or change.
|
|
|
|
|
I found that the two big problems with .bat files ( actually the command interpreter ) _wasn't_ it's weakness, but that the bright eyes at Microsoft:
1, typically didn't have commands return anything ( the stupid elephanting "void main(void)" mentality before that plague started ), and
2. edlin can't do search and replace when script driven. ( As I remember, it can't do _anything_ useful without using the "F" keys. )
( I had a Regulus box years back, it built the apropos database ( overnight ) by reading the man directory and chaining shell scripts, I think the only thing it did other than build scripts with ed that dos couldn't by itself was use "roll" to pick successive keywords)
|
|
|
|
|
Just to clarify the point, modern windows OSs don't run MS-DOS.
Early versions of windows and the 9x line ran on top of MS-DOS so launching a command prompt would actually just expose the MS-DOS command interrupter running underneath windows.
The Windows NT line, which XP, Vista, 7, 8 and 10 are a part of, was developed separately from MS-DOS and doesn't contain the MS-DOS command interrupter. Instead it has a program called cmd.exe which supports a similar set of commands but is very much distinct from MS-DOS.
So Windows bat/cmd files still exist and are used but they aren't MS-DOS bat files.
|
|
|
|