Foros del Web » Programación para mayores de 30 ;) » Programación General »

Comando DEL de DOS

Estas en el tema de Comando DEL de DOS en el foro de Programación General en Foros del Web. Holas comunidad Estoy usando para un amigo un archivo BAT que borrara unas ramas del registro... ahora el GRAN problema. De que manera puedo hacer, ...
  #1 (permalink)  
Antiguo 14/07/2008, 23:22
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Pregunta Comando DEL de DOS

Holas comunidad

Estoy usando para un amigo un archivo BAT que borrara unas ramas del registro... ahora el GRAN problema.

De que manera puedo hacer, para borrar TODOS los archivos de cierta rama, EXCEPTO algunos que yo se cual son sus valores.

Por ejemplo, quisiera borrar de las ramas RUN del registro, TODAS las entradas, excepto el antivirus AVAST que yo se que entrada me produce, entonces mas que n ada quisiera aprender de que manera se usarian las condiciones para generar eso; siempre que sea posible, claro.

Saludos
__________________
CabaSoft Networks
  #2 (permalink)  
Antiguo 16/07/2008, 14:11
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Comando DEL de DOS

Hola,

Yo uso un script en "Visual Basic Script" para borrar las entradas del registro (regedit). Y un .BAT que elimina los archivos temporales y ejecuta el script anterior.

http://msdn.microsoft.com/en-us/libr...hh(VS.85).aspx

Código:
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");
Saludos,

ps: No hay forma de enumerar las claves antes de eliminarlas. Una rama debe estar vacía para poder eliminarla con WshShell (al contrario de ActiveState Perl Script for Windows).

Última edición por HackmanC; 16/07/2008 a las 14:28 Razón: clean up
  #3 (permalink)  
Antiguo 17/07/2008, 00:42
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
De acuerdo Respuesta: Comando DEL de DOS

Holas

Gracias x la ayuda, solo una cosa, que yo tengo el nombre del archivo que NO se deberia borrar, entonces queria saber si hay forma de en la programacion, decir Borrar Todo 'MENOS' el archivo que yo tengo.

Vayamos a un directorio con archivos, quiero que se borren todos menos el Pepito.jpg.
Dentro del directorio hay 200 archivos, algunos .bat otros .exe otros .jgp y esta el Pepito.jpg.

Ya sea cualquier lenguaje de programacion, hay manera de hacer esa sentencia? De borrar todo menos no sea ese archivo?

Crear algun array con los archivos del directorio y que luego haya algun loop que lo recorra y si el cuando llegue al Pepito.jpg lo saltee, o algo asi
Se que es ejemplo novato, no se programar, estoy aprendiendo jeje

Saludos
__________________
CabaSoft Networks
  #4 (permalink)  
Antiguo 17/07/2008, 06:39
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Comando DEL de DOS

En BAT no creo que se pueda, la única idea mejor (aunque no muy profesional) que tengo es copiar ese archivo a una carpeta temporal, luego borras todos los archivos y vuelves a tomar el archivo de la carpeta temporal.

Tema parecido: http://www.forosdelweb.com/f14/copia...co-dos-606581/
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 17/07/2008, 13:04
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
De acuerdo Respuesta: Comando DEL de DOS

Hola DavidelGrande

Muchisimas Gracias, es mas es una gran solucion para el proceso BAT que es algo automatico y todo hacia abajo

Ahora se me complica mas, porque lo de los directorios era un ejemplo, pensando que se podria hacer eso, pero veo que para hacer lo mismo con Ramas del REgistro, estoy perdido? O tengo alguna solucion parecida?

Saludos
__________________
CabaSoft Networks
  #6 (permalink)  
Antiguo 17/07/2008, 13:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Comando DEL de DOS

Sí, con claves del registro puedes hacer la misma cosa, hacer un reg copy para hacer un backup de los datos que no deseas eliminar, luego un reg delete para borrar los datos, y nuevamente un reg copy para volver a copiar los datos que no querías eliminar.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 17/07/2008, 13:28
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
De acuerdo Respuesta: Comando DEL de DOS

Buenisimo !!!

No sabia que podia hacer eso con ramas del registro jeje, y en tal caso, donde se guardan esas?? En directorios comunes y corrientes?? Se puede eso?

P.D: No te doy karma, porque FDW no me deja jeje

Saludos
__________________
CabaSoft Networks
  #8 (permalink)  
Antiguo 17/07/2008, 13:42
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Comando DEL de DOS

Bueno, ahora que he mirado mejor veo que no se puede copiar valores únicos usando reg copy, solo claves completas. Lo único que se me ocurre hacer ahora es con VBScript como mencionó HackmanC.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 17/07/2008, 13:45
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
Respuesta: Comando DEL de DOS

Gracias igualmente

La verdad desconozco Visual Basic Script!
Si conozco el VB pero voy a ver de que trata el VBS.

Saludos
__________________
CabaSoft Networks
  #10 (permalink)  
Antiguo 17/07/2008, 15:07
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Comando DEL de DOS

Hola,

Cita:
Iniciado por nicolyto77 Ver Mensaje
Holas

Gracias x la ayuda, solo una cosa, que yo tengo el nombre del archivo que NO se deberia borrar, entonces queria saber si hay forma de en la programacion, decir Borrar Todo 'MENOS' el archivo que yo tengo.

Vayamos a un directorio con archivos, quiero que se borren todos menos el Pepito.jpg.
Dentro del directorio hay 200 archivos, algunos .bat otros .exe otros .jgp y esta el Pepito.jpg.
La forma de trabajar con "archivos" en VBScript es a traves de los objetos COM como WShell y Scripting.FileSystemObject. Eso te permite "enumerar" los archivos, para poder borrar solamente los que no deseas.

Por ejemplo:

Código:
Function ShowFileList(folderspec)
   Dim fso, f, f1, fc, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFolder(folderspec)
   Set fc = f.Files
   For Each f1 in fc
      WScript.Echo f1.name
      REM if f1.name = "pepito.jpg" then .... 
   Next
End Function
El acceso al registro lo haces igualmente con VBScript. Pero no hay forma de hacer un listado de "llaves" dentro de una "rama". Pero "ActiveState Perl Script" si hay forma de enumerar las llaves para solamente eliminar las que no queires.

Puedes aprender "Visual Basic Script" o "Perl Script" para lograr tu objetivo.

Saludos,
  #11 (permalink)  
Antiguo 18/07/2008, 12:56
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
De acuerdo Respuesta: Comando DEL de DOS

Holas

Gracias, en realidad ayer me puse a investigar sobre VBScript, y veo que esta bueno el manual que estoy leyendo, bien basico... aunke cuando arranco con los objetos, y los .OCX, etc... se complico un poquito.

Lo que no entendi es, si por ejemplo en DOS podes ejecutar una sentencia y al pulsar enter te la ejecuta, aunke tambien podes escribir en formato Block de Notas y lo guardas como .BAT y lo hace tambien...

Ahora en VBScript, al escribir sobre el Block de NotaS y lo guardo como .VBS queda perfecto, pero no tiene ninguna interfaz grafica, ni siquiera consola... como el DOS, para crear un menu o algo

O sera que nolo entendi yo... tengo que usar VB6 para eso?

Saludos
__________________
CabaSoft Networks
  #12 (permalink)  
Antiguo 18/07/2008, 14:54
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 3 meses
Puntos: 260
Sonrisa Respuesta: Comando DEL de DOS

Hola,

Son lenguajes Scripts para agilizar tareas que realizas comúnmente.
No tienen interfaz gráfica (sino es en el Web).
No son para programación avanzada (Algunos sí, como Python, pero esa es otra historia).

Si necesitas crear una ventana, botones, listas, procesos....
sabes VB6 y tienes VB6 ... por que no usas VB6 ?

Saludos,

ps: El uso frecuente es para realizar una acción en el sistema operativo que sea repetitiva, sin necesidad de estarle preguntando al usuario .. si .. no ... etc, como un backup cada 5 minutos de ciertos archivos. O para realizar prototipos de algoritmos... cuando ya tienes la idea .. la llevas a un lenguaje concreto. etc.

Última edición por HackmanC; 18/07/2008 a las 15:03 Razón: edit
  #13 (permalink)  
Antiguo 20/07/2008, 02:09
Avatar de nicolyto77  
Fecha de Ingreso: marzo-2007
Ubicación: Buenos Aires
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 12
De acuerdo Respuesta: Comando DEL de DOS

Muchas Gracias!

Prefiero el VBasic comun... jejej Aunque veo que es potente tambien el VBScript

Saludos
__________________
CabaSoft Networks
  #14 (permalink)  
Antiguo 20/07/2008, 04:50
 
Fecha de Ingreso: julio-2008
Mensajes: 38
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: Comando DEL de DOS

Cita:
Iniciado por nicolyto77 Ver Mensaje
Muchas Gracias!

Prefiero el VBasic comun... jejej Aunque veo que es potente tambien el VBScript

Saludos
Ni el uno ni el otro son "potentes".
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:54.