Thanks for the information about differences between DOS handling and Kix handling of special characters. I like the UDF too - short, sweet, efficient.

I was reviewing the scripts with a buddy and I decided I had jumped a little soon. By commenting out the shell line and the select case lines in the test script I boiled down the test to just output of characters in Kix. They outputted (word?) just fine. The trouble I run into is outputting the characters generated or read in Kix to a Dos shell. The password.exe command takes all characters typed in on the command line and uses them to change existing passwords. However, when I try to pipe, for instance, existing password lists (so we can change them) we run into the Dos/Kix limitation of how Dos interprets the special characters. I'm not clear whether the limitation is how Kix runs the command shell or whether it lies in how Dos handles the special characters. Regardless, the end result is that I cannot modify existing passwords containing certain special characters.

To further test the interoperability of Kix and Dos shells, I modified the script as follows:

code

variabletest2.kix

$count=""
REDIRECTOUTPUT ("d:\xfile\newgen\result.txt",0)
dim $count
$count=33
do
shell "%comspec% /c echo This is what embedded variable $count looks like: embed" + chr($count) + "test. >>d:\xfile\newgen\resulta.txt"
$count=1+$count
until $COUNT=256
$count=""
EXIT


Here is the sample output...

This is what embedded variable 33 looks like: embed!test.
This is what embedded variable 35 looks like: embed#test.
This is what embedded variable 36 looks like: embed$test.
This is what embedded variable 37 looks like: embed%test.
This is what embedded variable 39 looks like: embed'test.
This is what embedded variable 40 looks like: embed(test.
This is what embedded variable 41 looks like: embed)test.
This is what embedded variable 42 looks like: embed*test.
This is what embedded variable 43 looks like: embed+test.
This is what embedded variable 44 looks like: embed,test.
This is what embedded variable 45 looks like: embed-test.
This is what embedded variable 46 looks like: embed.test.
This is what embedded variable 47 looks like: embed/test.
This is what embedded variable 48 looks like: embed0test.
This is what embedded variable 49 looks like: embed1test.
This is what embedded variable 50 looks like: embed2test.
This is what embedded variable 51 looks like: embed3test.
This is what embedded variable 52 looks like: embed4test.
This is what embedded variable 53 looks like: embed5test.
This is what embedded variable 54 looks like: embed6test.
This is what embedded variable 55 looks like: embed7test.
This is what embedded variable 56 looks like: embed8test.
This is what embedded variable 57 looks like: embed9test.
This is what embedded variable 58 looks like: embed:test.
This is what embedded variable 59 looks like: embed;test.
This is what embedded variable 61 looks like: embed=test.
This is what embedded variable 62 looks like: embed
This is what embedded variable 63 looks like: embed?test.
This is what embedded variable 64 looks like: embed@test.
This is what embedded variable 65 looks like: embedAtest.
This is what embedded variable 66 looks like: embedBtest.
This is what embedded variable 67 looks like: embedCtest.
.
.
.

Note that characters 38 (&), 60 (< ), 62 (> ), and 124 (|) all fail to hand off in a behaved manner.

Also, is it my imagination or did the output characters change from Kix 3.62 to Kix 4.00 (beta 2a). I see several characters that differ from my earlier output file...

Thanks,
Alex