What I have said about piping and command concatenation applies also to the Windows command interpreter. So you should follow my advice about using piping or files, but not mixing them. However, your actual problem is not related to that but occurs before. It looks like your openssl.exe does not support the pkeyutl command. To check this you can list the available commands:
openssl list-standard-commands
All I can suggest is to check your Windows OpenSSL installation and try to ask where you got it from. BTW: There is no -peerkey option for the pkeyutl command (OpenSSL 1.0.1f on Ubuntu 14.04):
joe@raspi-cross:~$ openssl pkeyutl -help
Usage: pkeyutl [options]
-in file input file
-out file output file
-sigfile file signature file (verify operation only)
-inkey file input key
-keyform arg private key format - default PEM
-pubin input is a public key
-certin input is a certificate carrying a public key
-pkeyopt X:Y public key options
-sign sign with private key
-verify verify with public key
-verifyrecover verify with public key, recover original data
-encrypt encrypt with public key
-decrypt decrypt with private key
-derive derive shared secret
-hexdump hex dump output
-engine e use engine e, possibly a hardware device.
-passin arg pass phrase source