Disculpe, he entrado pocas veces en este foro, buscare las normas
Bien, Ya has colaborado un poco, Ahora me toca colaborarte con lo que pueda:
Si dejases la variable %extension% vacía, Te dará error y se cerrará el script.
Acostumbra a usar comillas dobles:
Código
Por cierto el nul no se si lo has puesto con la intención de comprobar si la variable está vacía, Pero en ese caso, No se comprueba con "nul".
Sobre las claves que agregas, No entiendo porque las agregas de tipo EXPAND_SZ, Sirve igual, Pero no estás agregando ninguna variable de entorno en las claves de tipo EXPAND_SZ, Quizás has entendido mal el concepto de las cádenas expandibles...
Aparte, La primera clave que intentas añadir no se puede crear de la manera que quieres, Porque estás usando la variable reservada %1, La cual NO se llega a añadir.
En la parte donde borras las claves, No he buscado donde cometes el error, Porque es todo mucho más sencillo que eso, Aquí tienes:
Código
@Echo ON set extension=lsc REM Añadir REG ADD "HKCR\%extension%_portable\DefaultIcon" /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe,0" /F REG ADD "HKCU\Software\Classes\%extension%_portable\shell\open\command" /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe \"%%1\"" /F REG ADD "HKCU\Software\Classes\.%extension%" /d "%extension%_portable" /F REM Eliminar REG DELETE "HKCR\%extension%_portable\DefaultIcon" /F REG DELETE "HKCU\Software\Classes\%extension%_portable" /F REG DELETE "HKCU\Software\Classes\.%extension%" /F
Espero que te sirva
Salu2