Hi Brian:

I think as you really get started, you will see some of the limitations. The problem is that KiXtart is really complementary with batch programming, not a complete replacement (unless you're a glutton for punishment). There are things that KiXtart does easily (like I/O) that is much more difficult with the built-in command processor language, and things that CMD does much easier (like complex file manipulation) than KiXtart.

For instance, it would take many lines of KiXtart code to replicate the following commands I use somewhat frequently from CMD...

xcopy /c/h/e/f sourcepath destpath

or

dir /o:d /s /b dirpath

or

for %i in (dirpath\*.txt) find /i "mysearchstr" %i >> found.txt

For our logon script, I will go to much greater lengths to keep everything possible in the KiXtart script, since this helps prevent users from breaking out of the logon script. However, for other applications, I try to use each language to best advantage. Each has strengths and weaknesses. Considering that CMD/Command batch, KiXtart, and VBS are all freely provided, I try to use all of them where they fit best.

If you have read many of the threads on these boards, you will often see KiXtart 'gurus' recommend a command line solution to a complex question. This confuses folks sometimes... after all, can't I do EVERYTHING in KiXtart? The short answer is that it may be POSSIBLE to do anything you want in KiXtart, but it is not always DESIRABLE to try. (Though some of the folks here love finding ways to do the 'impossible' in KiXtart just to show it can be done.)

"To the person with a hammer, everything starts to look like a nail."

The biggest problem I see is that (IMO) KiXtart is significantly easier to work with than CMD batch. So if someone has created a lot of batch files they wanted to convert to KiXtart, it would probably be easier for them to learn KiXtart and convert / optimize the scripts manually.

Often I will choose an entirely different algorithm to accomplish a task in a different language. For instance, I use GOSUBs pretty heavily in KiXtart because it is pre-processed in memory, but I don't use the same type of structure nearly as much in batch files because a batch file is parsed line-by-line interactively, so looping and gosub-type structures are very inefficient. I would much rather try to use the FOR command for iterative commands than a GOTO / LOOP structure for the same reason. (BTW, if you REALLY want to get discouraged, try to replicate the full functionality of either the FOR or SET commands with all the weird little differences between versions of Windows and DOS.)

Anyway, just some thoughts... worth every penny no doubt. [Wink]

New Mexico Mark