views:

229

answers:

8
+14  A: 

Windows PowerShell™ is a task-based command-line shell and scripting language designed especially for system administration. Built on the .NET Framework, Windows PowerShell™ helps IT professionals and power users control and automate the administration of the Windows operating system and applications that run on Windows.

The Microsoft Windows Script Host (originally called Windows Scripting Host, but renamed for the second release) is an automation technology for Microsoft Windows operating systems that provides scripting capabilities comparable to batch files, but with a greater range of supported features.

mafutrct
+1. powershell gives you scripting capabilities backed by all the libraries from .NET, and more
leeeroy
+1  A: 

You can use PHP without a full LAMP stack. Certainly you don't want the "L" if you are running on Windows!

I'd go with Strawberry Perl myself. While it doesn't have vast amounts of built in libraries, it does have the CPAN.

David Dorward
A: 

Perl, either a "real" win32 port (ActiveState or Strawberry Perl) or the Cygwin variant.

Christoffer
"A sane syntax" was part of the requirements ;)
Thomas
Oh, missed that part, sorry.
Christoffer
+2  A: 

I'm a fan of Python.

digitaldreamer
A: 

Rebol is nice. The executable is a few hundred KB, requires no installation and can do GUI as well as console stuff. It can access files, URLs, execute programs, you name it. Syntax is truly minimal; Rebol has some of the neatest oneliners.. :)

luminarious
+2  A: 

Mafutrct has provided a very good response; if you are starting windows scripting then you should definitely begin with with PowerShell. The built-in commands, PowerShell extensions and the ability to use the .NET runtime ensure that all your scripting requirements are met. I only wish for a better scripting language in PowerShell. If only it were Javascript :(.

I want to point out that WSH remains a viable scripting environment for windows. The reasons why I continue to use it are:

  • Javascript, being both functional and prototypal, allows complex scripts to be written simply and easily
  • Throw in WMI and almost everything windows related can be accomplished very easily. This is very useful for networking and system administration related tasks
  • WSH scripts can be run with equal convenience on both window and console (i.e. invocation by wscript and csript)
  • Writing a script is as easy as opening notepad, typing the script, saving it as a js (or .vbs, .wsh) file and double clicking the saved file
  • Although it no longer remains strictly a script, a .js file can be complied for the CLR using the .NET’s Javascript compiler: jsc.exe. Like PowerShell, this provides access to the entire .NET framework

Some of the scripts that I wrote in the last few weeks were:

  • Pulling data from MS SQL server, creating an Excel sheet and pushing the data into it, and mailing it to a client
  • Formatting, parsing and filtering thousands of lines of VOIP switch log files and vector scripts
  • Using Ajax to pull data from a remote server, calling a web-service and passing the data to it
  • I spook my co-workers when they use my laptop by remotely “speaking” to them via the speakers with a script using Microsoft’s Speech API. Here’s the sample code:

var sapi = new ActiveXObject("SAPI.SpVoice");

sapi.speak(“hello world”);
Abbas
+1  A: 

If (a) you've got experience in the LAMP world, and (b) you mostly want file and string manipulation, I recommend Lua and the Lua File System. It's a choice at the polar opposite of the design space:

  • Aggressively cross-platform. Lua itself (but not LFS) extends to handhelds, Palm Pilots, and so on.

  • Very simple, clean design. Incredibly high power-to-weight ratio.

Lua would be good if the problems you are solving are not Windows-specific and if there's any chance of your wanting similar solutions on other platforms.

Lua is also extraordinarily easy to learn (nothing is horrific), compiles with any C compiler, is backed by a great book, and has a one-stop native Windows implementation.

Norman Ramsey
A: 

Give Python a try. Its cross platform, has clear syntax, easy to install, lots of "batteries included" modules (if not there is repository Pypi, equivalent to Perl's CPAN).

ghostdog74