>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