Probably |f| require f is being interpreted as “pipe to program ‘f’ and
then pipe to program ‘require’ with arg ‘f }’.” If you turn enough
echoing on in the .bat files, you should be able to find where the
problem is.
In jruby 1.1.3 (the version I have handy) it looks like _jrubyvmopts.bat
does this:
set _ARGS=%_ARGS:"=_D%
and that’s where windows starts to think it needs to handle the | in the
-e string. You might be able resolve this by adding
set _ARGS=%_ARGS:|=_P%
before the line quoted earlier, and then unescaping it later.
Our windows batch files are admittedly hacky. We don’t have a lot of
expertise in that area, so if you find something that works please
send us a patch!