Little Willis aquí. Estoy intentando utilizar un script por lotes para editar una clave de registro existente que se utiliza al hacer doble clic en un archivo .jar. El problema es que los datos que intento ingresar contienen comillas, pero también necesito comillas para que se considere una cadena.Agregar una clave de registro en Windows con comillas necesarias en los datos usando una secuencia de comandos por lotes
Ejemplo:
reg add "HKEY_LOCAL_MACHINE\Software\Classes\jarfile\shell\open\command" /v "" /t REG_EXPAND_SZ /d "C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %* /f
Cuando corro que en un archivo por lotes las impresiones ventana de CMD out "Error: Demasiados parámetros de línea de comandos"
Así que para hacer este sencillo. Deseo agregar una clave de registro con "C: \ Archivos de programa \ Java \ jre7 \ bin \ javaw.exe" -jar "% 1"% * como los datos que incluyen las citas y el% 1 y% * exactamente como están no convertido a ninguna instrucción o cadena real.
EDIT:
El registro normalmente añadidos se realiza mediante el uso de esta cadena de línea de comandos:
ftype jarfile="C:\Program Files\Java\jre7\bin\javaw.exe" -jar "%1" %*
que funciona bien en la línea de comandos, pero al igual que el código se indica a continuación cuando utilicé esto en una el script por lotes no aparece "% 1" y% *.
su respuesta es reducir a la mitad sobre mi pregunta. El resultado de lo que me diste fue "C: \ Archivos de programa \ Java \ jre7 \ bin \ javaw.exe" -jar "" "/ f en lugar de" C: \ Archivos de programa \ Java \ jre7 \ bin \ javaw.exe "-jar"% 1 "% * – Trey
Acabo de editar para agregar una comilla final – Marc
Bien. Puse la cita antes de la/f, por lo que ahora no me pregunta si deseo sobrescribir la clave de registro existente, pero la la salida sigue siendo relativamente igual. "C: \ Archivos de programa \ Java \ jre7 \ bin \ javaw.exe" -jar "" El "% 1" está girando solo en "" y no aparece el% *. – Trey