Autor
|
Tema: BAT, algun REG DELETE no se borra (Leído 3,898 veces)
|
quico5
Desconectado
Mensajes: 27
|
Estoy usando REG DELETE en un BAT, y en algunas lineas no se aplica, gracias REG ADD HKEY_CURRENT_USER\Software\Classes\%extension%_portable\shell\open\command /v "" /t REG_EXPAND_SZ /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe" %1 /F REG ADD HKEY_CLASSES_ROOT\%extension%_portable\DefaultIcon /v "" /t REG_EXPAND_SZ /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe" /F REG ADD HKEY_CURRENT_USER\Software\Classes\.%extension% /v "" /t REG_SZ /d %extension%_portable /F rem borrar REG DELETE HKEY_CLASSES_ROOT\%extension%_portable\DefaultIcon /F /VA REG DELETE HKEY_CURRENT_USER\Software\Classes\%extension%_portable\shell\open\command /F /VA REG DELETE HKEY_CURRENT_USER\Software\Classes\.%extension% /F /VA rem no borra? REG DELETE HKEY_CLASSES_ROOT\.%extension% /F /VA rem no borra? REG DELETE HKEY_CLASSES_ROOT\%extension%_portable /F /VA REG DELETE HKEY_CURRENT_USER\Software\Classes\.%extension% /F /VA REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%extension% /F /VA rem no borra? REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\%extension%_portable /F /VA rem no borra?
|
|
« Última modificación: 19 Agosto 2012, 02:26 am por quico5 »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
Desde Enero hasta Agosto has tenido tiempo para leer las normas del tablón. Siento ser estricto, Pero haz el favor de modificar tu pregunta con las correcciones adecuadas o me veré obligado a cerrar este post. Los códigos deben ir dentro de la etiqueta code. PD: Tampoco estaría mal que te molestases en describir el problema en el post, Y no en el título del topic. Saludos.
|
|
« Última modificación: 19 Agosto 2012, 03:05 am por EleKtro H@cker »
|
En línea
|
|
|
|
quico5
Desconectado
Mensajes: 27
|
Disculpe, he entrado pocas veces en este foro, buscare las normas
|
|
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
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: if " %extension%"=="nul" (exit)
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: 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
|
|
« Última modificación: 19 Agosto 2012, 03:05 am por EleKtro H@cker »
|
En línea
|
|
|
|
quico5
Desconectado
Mensajes: 27
|
Muchas gracias por la ayuda If NOT defined extension (exit) ¿Exit con parentesis? dedidi usar esa pregunta porque haciendo pruebas borre todos los archivos del escritorio, nada importante por suerte Me estoy basando en la forma que windows 7 asocia un archivo a un programa para crear los asociados con archivos portables y he descubierto que pasaba con regedit, por lo que busque en google en archivo.reg forzosamente tenia que pasar los datos en binario generando las entradas en EXPAND_SZ para que funcionase el asociamiento de archivos, y buscando encntre que podia evitar el binario en los mismos BAT meidante EXPAND_SZ viste que tenia mas entradas a borrar que a crear, parece que en el registro se crean entradas a mayores, mi idea es que si elijo borrar el portable con BAT tambien borrar esas entradas para evitar errores raros por tener el regedit a medias habia optado el poner: set extension=lsc en vez set extension="lsc" porque en windows 7 almacena "lsc" con comillas incluidas, o ese efecto me pintaba el .BAT en pantalla dañandome la orden y al quitarle las comillas a la variable entonces funcionaba gracias de nuevo por su atención
|
|
« Última modificación: 19 Agosto 2012, 15:26 pm por quico5 »
|
En línea
|
|
|
|
Eleкtro
Ex-Staff
Conectado
Mensajes: 9.878
|
¿Exit con parentesis? Cualquier comando debe ir entre parentesis despues de la condición (Es la manera correcta), Aunque si solo es un comando (Exit) no tiene importancia, Pero si es una serie de comandos, Sí. Quizás este script te sirva para sacar algo más en claro sobre la asociación de archivos: ASSOC7 (Crea, Asocia, Y desasocia tipos de archivos) by Elektro H@ckerPD: Creo que me quedó algún extraño bug por corregir, Si no le pones cosas raras funciona xD. Saludos
|
|
|
En línea
|
|
|
|
quico5
Desconectado
Mensajes: 27
|
Tiene muy buena pinta, muchas gracias, despues lo miro con calma... algo habia leido sobre ASSOC, lo probre pero no le encontrara mucho sentido ¿quizas no borraba bien con \VA? ¿para que sirve esta opción? ¿y /F? Al borrar las tres entradas, y darle abrir al archivo.ext me devuelve Este archivo no tiene ningún programa asociado para realizar esta acción. Instale el programa que corresponda o, si ya lo tiene instalado, cree una asociación en el panel de control de Programas predeterminados. y al borrar manualmente o por .REG [-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lsc] pasa al estado por defecto Al borrar esta entrada pasa al mensaje normal cuando windows desconoce .ext
Windows no puede abrir este archivo:
Archivo demo.lsc
Para poder abrir el archivo, se debe iniciar en Windows qué programa desea usar para tal fin. Windows puede conectarse a internet para buscar automáticamente, o se puede seleccionar manualmente en una lista de programas en el equipo.
¿Qué desea hacer? -Usar el servicio web para buscar el programa correcto -Seleccionar un programa de la lista de programas instalados
|
|
|
En línea
|
|
|
|
quico5
Desconectado
Mensajes: 27
|
Estoy probando ASSOC7.BAT y parece muy comodo ¿lo puedo controlar desde otro BAT? parece que si, creo que (ruta\ASSOC7.exe -a .url ruta\portable.exe) solo una cosa, no coje el icono asociado al notepad o su propio icono, pero supongo que eso ha de ser facil, voy a probar a llamar cosas que no sean del propio windows, como un portable
|
|
« Última modificación: 19 Agosto 2012, 22:15 pm por quico5 »
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Delete ITEM
Programación Visual Basic
|
NetWar
|
5
|
2,495
|
24 Marzo 2008, 12:17 pm
por jmordenata
|
|
|
no me borra la tabla haciendo delete on cascade tabla n:m
Bases de Datos
|
kinos
|
2
|
4,367
|
31 Julio 2010, 13:05 pm
por kinos
|
|
|
DELETE de resultado de un SELECT
Bases de Datos
|
XafiloX
|
4
|
7,620
|
11 Febrero 2011, 18:21 pm
por XafiloX
|
|
|
DELETE sql
Bases de Datos
|
andaluz
|
0
|
1,800
|
1 Junio 2012, 19:20 pm
por andaluz
|
|
|
[C++] Duda con new y delete[] o delete Tratando de hacer matriz dinamica
Programación C/C++
|
capsulasinformaticas
|
7
|
4,943
|
21 Marzo 2013, 18:03 pm
por capsulasinformaticas
|
|