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

As I said they would, on the command prompt line they are treated differently.

Read this MSKB article: Q103746

It could be that PASSWORD.EXE suffers the same problems.

Tell me what extended chars you would like to use and I will add them to the UDF.

Try this:

$char='"<>|@@$$&%'+"'"
shell "%comspec% /c echo $char"

The KiX var $char contains "<>|@@$$&%', so KiX will print the @@ as @ and the $$ as $ when it sends this to the command line.

What chars would you like to use in the password?


A quick idea...

code:

break on cls


; This script will show you the differences between:
;
; 1. Writing to a File with KiX OPEN, WRITELINE, CLOSE
; 2. Writing to a File with KiX REDIRECTOUTPUT
; 3. Writing to a File with SHELL and ECHO
; 4. Writing to the Screen with SHELL and ECHO


del "result1.txt"
$=open(1, "result1.txt", 5)


$=redirectoutput("result2.txt", 1)


$count=33 ; start character
do
$char=chr($count) ; get string version


$=writeline(1, "This char is number $count and looks like this $char"+chr(13)+chr(10)) ; 1.


"This char is number $count and looks like this $char" ? ; 2.


; These DOS commands must be enclosed in double quotes otherwise they will activate
if $char="<" or $char=">" or $char="|" or $char="&" or $char="^"
$char='"'+$char+'"'
endif


; use this to make " become ""
;if $char='"' $char='""' endif


shell '%comspec% /c echo This char is number $count and looks like this $char >>result3.txt 2>>errors.txt' ; 3


shell "%comspec% /c echo This char is number $count and looks like this $char" ; 4


$count=$count+1 ; next char
until $count=256


$=close(1) ; close file 1



cj

------------------
cj's scripts page
cj's User Guide - 14 May 2001

chrismat@ozemail.com.au