Austin,
AZ> Try changing this to:
AZ>   system("dcpropgst.bat", @@gsdir, @@gsfontdir, @@prttxt)

This doesn't call the .bat file at all.
> 
AZ> If you can't predict how many parameters, do this:
AZ>   params = [ @@gsdir, @@gsfontdir, @@prttxt ]
AZ>   system("dcpropgst.bat", *params)

Neither does this one. 

If I wanted to hard code the paths as well as the printer code, it
will work.

What I see happening is that when I pass the 3 parameters as I think
that they should be passed is that the 2nd & 3rd params aren't in fact
passed.

Here is dcpropgst.bat:
%1 -I%2 -sDEVICE=%3 -dNOPAUSE print.ps -c quit

This:
system( %{"dcpropgst.bat",#{@@gsdir} #{@@gsfontdir} #{@@prttxt}} )

(or this because the braces aren't needed)
system( %{"dcpropgst.bat",#@@gsdir #@@gsfontdir #@@prttxt} )

Causes this:
C:\JDR\Ruby>C:\DCPro\gs\gs8.14\bin\gswin32.exe -I -sDEVICE= -dNOPAUSE
print.ps -c quit

Putting commas between the params is also irrelevant, in my testing,
as they all produce the above result.


John Reed