elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  BAT, algun REG DELETE no se borra
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: BAT, algun REG DELETE no se borra  (Leído 3,898 veces)
quico5

Desconectado Desconectado

Mensajes: 27


Ver Perfil
BAT, algun REG DELETE no se borra
« en: 18 Agosto 2012, 19:37 pm »

Estoy usando REG DELETE en un BAT, y en algunas lineas no se aplica, gracias

Código
  1. echo on
  2.  
  3. set extension=lsc
  4.  
  5. if %extension% == nul exit
  6.  
  7. 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
  8. REG ADD HKEY_CLASSES_ROOT\%extension%_portable\DefaultIcon /v "" /t REG_EXPAND_SZ /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe" /F
  9. REG ADD HKEY_CURRENT_USER\Software\Classes\.%extension% /v "" /t REG_SZ /d %extension%_portable /F
  10.  
  11. pause>nul
  12.  
  13. rem borrar
  14.  
  15. REG DELETE HKEY_CLASSES_ROOT\%extension%_portable\DefaultIcon /F /VA
  16. REG DELETE HKEY_CURRENT_USER\Software\Classes\%extension%_portable\shell\open\command /F /VA
  17. REG DELETE HKEY_CURRENT_USER\Software\Classes\.%extension% /F /VA rem no borra?
  18.  
  19. REG DELETE HKEY_CLASSES_ROOT\.%extension% /F /VA rem no borra?
  20. REG DELETE HKEY_CLASSES_ROOT\%extension%_portable /F /VA
  21. REG DELETE HKEY_CURRENT_USER\Software\Classes\.%extension% /F /VA
  22.  
  23. REG DELETE HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%extension% /F /VA rem no borra?
  24. REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Classes\%extension%_portable /F /VA rem no borra?
  25.  


« Última modificación: 19 Agosto 2012, 02:26 am por quico5 » En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #1 en: 18 Agosto 2012, 20:18 pm »

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.  :P

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 Desconectado

Mensajes: 27


Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #2 en: 19 Agosto 2012, 01:10 am »

 :-( Disculpe, he entrado pocas veces en este foro, buscare las normas
En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.878



Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #3 en: 19 Agosto 2012, 03:00 am »

:-( 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:

Código
  1. if %extension% == nul exit
Si dejases la variable %extension% vacía, Te dará error y se cerrará el script.
Acostumbra a usar comillas dobles:
Código
  1. 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:

Código
  1. @Echo ON
  2.  
  3. set extension=lsc
  4. If NOT defined extension (exit)
  5.  
  6. REM Añadir
  7. REG ADD "HKCR\%extension%_portable\DefaultIcon" /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe,0" /F
  8. REG ADD "HKCU\Software\Classes\%extension%_portable\shell\open\command" /d "%homedrive%\Portables instalados\LogoSoft\LogoSoft.exe \"%%1\"" /F
  9. REG ADD "HKCU\Software\Classes\.%extension%" /d "%extension%_portable" /F
  10.  
  11. REM Eliminar
  12. REG DELETE "HKCR\%extension%_portable\DefaultIcon" /F
  13. REG DELETE "HKCU\Software\Classes\%extension%_portable" /F
  14. 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 Desconectado

Mensajes: 27


Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #4 en: 19 Agosto 2012, 15:05 pm »

Muchas gracias por la ayuda


Citar
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:
Citar
set extension=lsc
en vez
Citar
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 Conectado

Mensajes: 9.878



Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #5 en: 19 Agosto 2012, 16:18 pm »

¿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@cker

PD: 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 Desconectado

Mensajes: 27


Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #6 en: 19 Agosto 2012, 16:26 pm »

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?
Citar
Al borrar las tres entradas, y darle abrir al archivo.ext me devuelve
Citar
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
Citar
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lsc]
pasa al estado por defecto
Citar
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 Desconectado

Mensajes: 27


Ver Perfil
Re: BAT, algun REG DELETE no se borra
« Respuesta #7 en: 19 Agosto 2012, 21:35 pm »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Delete ITEM
Programación Visual Basic
NetWar 5 2,495 Último mensaje 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 Último mensaje 31 Julio 2010, 13:05 pm
por kinos
DELETE de resultado de un SELECT
Bases de Datos
XafiloX 4 7,620 Último mensaje 11 Febrero 2011, 18:21 pm
por XafiloX
DELETE sql
Bases de Datos
andaluz 0 1,800 Último mensaje 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 Último mensaje 21 Marzo 2013, 18:03 pm
por capsulasinformaticas
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines