¿Por qué debes poner dos %% aquí?
ftype JARFile="%direccionJava%" -jar "%%1" "%%*"
Lo he mencionado antes, para escapar el caracter "%", ya que es un símbolo reservado por el lenguaje ...para definir variables, por ende, obviamente si escribes el símbolo "%" tendrá un efecto muy distinto al que le querías dar, ya que tú pretendes escribir/interpretar dicho símbolo, no usarlo cómo si de una variable se tratase.
busco poder abrir el archivo como abrir con, seleccionar un programa y convertirlo en el predeterminado
Con los arreglos que mencione, aplicados en el código que mostraste, estás creando una asociación por defecto para los archivos con extensión ".jar", para que se ejecuten con la aplicación "javaw.exe" pasándole los argumentos: "
-jar "C:\Ruta de archivo.jar" "Argumentos adicionales" ", por ende, al clickar sobre un archivo de tipo ".jar", éste se intentará abrir con la aplicación de Java.
Todo ese proceso que haces en Batch se resume en crear una clave de referencia en la clave de registro "HKCR\.jar" con el nombre que le diste (JARFile), y en esa clave referenciada (HKCR\JARFile) se crea el comando por defecto "Open" (HKCR\JARFile\Shell\Open\Command) con el valor que le diste.
En resumen, supuestamente ya has hecho la aplicación javaw.exe la predeterminada para archivos .jar.
Si no es eso lo que pretendes, intenta explicarlo con más detalles.
Saludos!