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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)  (Leído 4,517 veces)
P3NDULO

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
« en: 27 Octubre 2014, 15:25 pm »

Buenas.
Como puedo hacer unprograma que busque y ejecute un programa que tengo guardado en c:..

Ejemplo: tengo un ejecutable, en varios equipos, pero cada uno de los tecnico que lo guardo le coloco un nombre distinto.
Necesito intakar Java. Pero le colocan varios nombre y varias versiones.
- jre-7-windows-i586
- Java 7
- jre-6u21-windows-i586
- jre-6u21-windows-i586(1) ... y exetera...
Bueno por eso quisiera hacer un programa que busque en un directorio espesifico los javas que tenga: seria algo asi

Código:
:: Segun los instaladores estan en esa carpeta tecnico
dir c:\tecnico\jre-*.exe /s

Eso me los listara. Como los guardo para selecionar uno, o como puedo buscar que ersion tengo instalada para asi no instalar una version anterior.
En lo posible como se haria una comparacion de la version instalada con la que voy a instalar, y en caso de que no este me arroje un error indicando que no hay javas para instalar.

tengo el codigo para chequear que sistema operativo es:

Código:
@ECHO OFF
mode con cols=60 lines=3
title Reconfigurador de JAVA
color 9f
REM XP Check
ver | findstr /i "5\.1\." > nul
IF %ERRORLEVEL% EQU 0 SET VER=XP-%PROCESSOR_ARCHITECTURE%

REM 7 Check
ver | findstr /i "6\.1\." > nul
IF %ERRORLEVEL% EQU 0 SET VER=WIN7-%PROCESSOR_ARCHITECTURE%

REM 8 Check
ver | findstr /i "6\.2\." > nul
IF %ERRORLEVEL% EQU 0 SET VER=WIN8-%PROCESSOR_ARCHITECTURE%

tambien puedo intalar uno de los javas si me se la direccion del programa
Código:
@echo off
mode con cols=60 lines=3
title Reconfigurador de JAVA
color 9f
"C:\Tecnico\Instaladores\Java\jre-7-windows-i586.exe" /passive

Gracias y disculpe que sea ten necio jejejeje.. feliz dia.
Claro si es con vbs, con bat, igual lo utilizaria.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
« Respuesta #1 en: 27 Octubre 2014, 16:36 pm »

como puedo buscar que ersion tengo instalada para asi no instalar una version anterior.

Source:
Código
  1. @Echo Off & Title Java Runtime Version Checker By Elektro
  2. (Chcp 1252)1>NUL & :: Spanish Latin ISO.
  3.  
  4. :: Registry Settings.
  5. Set "Registry.Root=HKEY_LOCAL_MACHINE"
  6. Set "Registry.Key=SOFTWARE\JavaSoft\Java Runtime Environment"
  7. Set "Registry.Value.CurrentVersion=CurrentVersion"
  8. Set "Registry.Value.FamilyVersion=FamilyVersion"
  9. Set "Registry.Value.BrowserVersion=BrowserJavaVersion"
  10.  
  11. :: String Variables to store results.
  12. Set "Java.CurrentVersion="
  13. Set "Java.FamilyVersion="
  14. Set "Java.BrowserVersion="
  15.  
  16. :: Change working directory.
  17. PUSHD "%SystemRoot%\System32"
  18.  
  19. :: Iterate the Java registry subkeys.
  20. For /F "Tokens=1,2,*" %%a In (
  21. '.\Reg.exe "Query" "%Registry.Root%\%Registry.Key%" /T "REG_SZ"'
  22. ) Do (
  23. (
  24. ( :: Retrieve the Java Runtime Version.
  25. Echo "%%a" | Find /I "%Registry.Value.CurrentVersion%"
  26. ) && (
  27. Set "Java.CurrentVersion=%%c"
  28. )
  29.  
  30. ( :: Retrieve the Java Runtime Family Version.
  31. Echo "%%a" | Find /I "%Registry.Value.FamilyVersion%"
  32. ) && (
  33. Set "Java.FamilyVersion=%%c"
  34. )
  35.  
  36. ( :: Retrieve the Java Runtime Family Version.
  37. Echo "%%a" | Find /I "%Registry.Value.BrowserVersion%"
  38. ) && (
  39. Set "Java.BrowserVersion=%%c"
  40. )
  41. )1>Nul
  42. )
  43.  
  44. :: Print Info.
  45. Echo.Java Runtime Current Version: %Java.CurrentVersion%
  46. Echo.Java Runtime Family  Version: %Java.FamilyVersion%
  47. Echo.Java Runtime Browser Version: %Java.BrowserVersion%
  48.  
  49. :: Terminate execution.
  50. POPD & :: Restore working directory.
  51. Pause&Exit /B 0

Output:
Código:
Java Runtime Current Version: 1.7
Java Runtime Family  Version: 1.7.0_51
Java Runtime Browser Version: 10.51.2
Presione una tecla para continuar . . .

PD: No lo he probado en más equipos que el mio.

Saludos


« Última modificación: 27 Octubre 2014, 16:49 pm por Eleкtro » En línea

P3NDULO

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
« Respuesta #2 en: 27 Octubre 2014, 19:06 pm »

Source:


PD: No lo he probado en más equipos que el mio.

Saludos

mande a guardar el resultado, en un TXT, para luego comprarlo con un numero
Código:

    :: Terminate execution.
    set ver=%Java.CurrentVersion%
    echo %ver% >c:\Tecnico\ver1java.TXT
    POPD & :: Restore working directory.
    Pause&Exit /B 0

tengo la busqueda y la guarde en un TXT:

Código:
@echo off
::mode con cols=50 lines=10
title Reconfigurador de JAVA
color
::"C:\Tecnico\Instaladores\Java\jre-7-windows-i586.exe" /passive
dir c:\Tecnico\jre-*.exe /s > java.txt
pause
exit

y cuando abro el TXT.. que por cierto no me abre jejejeje.. tengo que darle editar y veo esto.

Código:
El volumen de la unidad C no tiene etiqueta.
 El n£mero de serie del volumen es: 8E2D-18B6

 Directorio de c:\Tecnico\Instaladores\Java

27/06/2014  03:03 p.m.        16.062.240 jre-7-windows-i586.exe
               1 archivos     16.062.240 bytes

 Directorio de c:\Tecnico\Programas

27/06/2014  03:03 p.m.        16.062.240 jre-6u21-windows-i586(1).exe
               1 archivos     16.062.240 bytes

     Total de archivos en la lista:
               2 archivos     32.124.480 bytes
               0 dirs  288.049.954.816 bytes libres

Como hafo para que esa busqueda sea el resultado como que mas limpia, y pues bueno, pueda ejecuatr el .exe en la ubicaion que este.

Muchas gracias @Eleкtro. Si sabes de algun librito, algun tutorial que tenga tantas cosas como las que tienes en la mente me avisas jajajaja,, que eres de verdad una enciclopedia.. Gracias.  ;D
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
« Respuesta #3 en: 27 Octubre 2014, 20:02 pm »

Como hafo para que esa busqueda sea el resultado como que mas limpia

No he entendido nada (literálmente, no se entiende la frase citada).

Primero veo que envias sl String que contiene la versión de Java al archivo "ver1java.TXT"

Luego haces una búsqueda recursiva y envias la salida al archivo "java.txt"

Por último dices que al abrir el archivo "java.txt" te sale esto de aquí abajo y lo consideras ¿un error?,

Citar
Código:
El volumen de la unidad C no tiene etiqueta.
 El n£mero de serie del volumen es: 8E2D-18B6

 Directorio de c:\Tecnico\Instaladores\Java

¿que esperas que salga en el contenido del archivo?, sale lo que debe salir... el resultado de la búsqueda.

no se si me he perdido algo en lo que pretendes hacer o como lo pretendes hacer.


pueda ejecuatr el .exe en la ubicaion que este.

Puedes hacerlo por ejemplo procesando la salida del comando Dir /S con un For /F.

En el código que mostré tienes un ejemplo, en Google tienes miles, la cuestión es que aprendas a hacerlo por ti mismo viendo ejemplos.


For /f - Loop through text

Saludos
« Última modificación: 27 Octubre 2014, 20:05 pm por Eleкtro » En línea

P3NDULO

Desconectado Desconectado

Mensajes: 19


Ver Perfil
Re: Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
« Respuesta #4 en: 27 Octubre 2014, 20:27 pm »

 :huh:

Citar
@Eleкtro
No he entendido nada (literálmente, no se entiende la frase citada).

Al hacer la busqueda la guardo en un .TXT, para luego sacar el directorio de donde esta guarado el .exe
" Eso es lo que tengo que meter en el for que me dices, para que busque los parametros no?"

Código:
El volumen de la unidad C no tiene etiqueta.
 El n£mero de serie del volumen es: 8E2D-18B6

 Directorio de c:\Tecnico\Instaladores\Java

27/06/2014  03:03 p.m.        16.062.240 jre-7-windows-i586.exe
               1 archivos     16.062.240 bytes

 Directorio de c:\Tecnico\Programas

27/06/2014  03:03 p.m.        16.062.240 jre-6u21-windows-i586(1).exe
               1 archivos     16.062.240 bytes

     Total de archivos en la lista:
               2 archivos     32.124.480 bytes
               0 dirs  288.073.433.088 bytes libres


Con ese TXT, despues que pase por el for, me deberia salir esto.

Código:

"C:\Tecnico\Instaladores\Java\jre-7-windows-i586.exe"


Al ya tener eso, lo puedo ejecutar tranquilamete.

Claro lo que quiero hacer es la automatizacion de una busqueda.
De pasar por inicio -> Equipo -> Disco Local -> Carpeta -> buscar en este directorio carpeta por carpeta el instalador. para luego instalarlo.


las version de java, la colocare para que haga una comparacion de el Java que esta instalado con los que tenemos en el quipo, osea si es el resultado de eso es :

1.8 entonces el java que esta en el equipo es un Java 8 actualizacion 25, entonces deberia instalar unversion igual o mayor.
Ejemplo en tu equipo es:
1.7 entonces el java que debemos instalar en el equipo es un Java 8 actualizacion 25. para eso es la comparacion, para que al momento de instalar el java, no instalemos una version anterior, porque estaran los 2 javas instalados.

de verdad discupa que escriba como muy Mal.


 
« Última modificación: 27 Octubre 2014, 20:38 pm por P3NDULO » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Como buscar un ejecutable en el disco duro sabiendo solo 2 letras (Prxxx.exe)
« Respuesta #5 en: 27 Octubre 2014, 20:59 pm »

Esto te ayudará a comparar:

Source:
Código
  1. @Echo OFF
  2.  
  3. :: Este valor lo obtenemos del registro de Widnows con el Script de antes,
  4. :: o también llamando a la aplicación "java.exe" pasándole el parámetro "-version".
  5. Set "Java.FamilyVersion=1.7.0_51"
  6.  
  7. :: Obtengo el número de la versión.
  8. Set "Installer.Version=%Java.FamilyVersion:~2,1%"
  9.  
  10. :: Obtengo el número de la actualización.
  11. (Echo "%Java.FamilyVersion%" | Find "_")1>NUL && (
  12. For /F "Tokens=2 Delims=_" %%# In ("%Java.FamilyVersion%") Do (
  13. Set "Installer.VersionUpdate=u%%#"
  14. )
  15. )
  16.  
  17. Echo JavaRE Family Ver.   = %Java.FamilyVersion%
  18. Echo JavaRE x86 Installer = jre-%Installer.Version%%Installer.VersionUpdate%-windows-i586.exe
  19. Echo JavaRE x64 Installer = jre-%Installer.Version%%Installer.VersionUpdate%-windows-x64.exe
  20.  
  21. Pause&Exit /B 0


Output:
Código:
JavaRE Family Ver.   = 1.7.0_51
JavaRE x86 Installer = jre-7u51-windows-i586.exe
JavaRE x64 Installer = jre-7u51-windows-x64.exe


Lo único que tienes que hacer es :
1) tomar los nombres de los instaladores equivalentes a la versión de java instalada, adaptando el código de arriba a tus necesidades.
2) realizar una búsqueda recursiva de los instaladores que están en la carpeta C:\tecnico, y tomar cada nombre de esos instaladores.
3) Comparar las versiones especificadas en los nombres d elos instaladores

Por ejemplo:
Código
  1. @Echo OFF & SetLocal EnableDelayedExpansion
  2.  
  3. Set "Installer.Name=jre-7u51-windows-x64.exe"
  4. set "JRE.Currentversion=825" & REM 8 update 25
  5.  
  6. REM hacer eso por cada instalador que haya en el directorio...
  7. For /F "Tokens=2 Delims=-" %%# In ("%Installer.Name%") do (
  8.  
  9. set "versionFix=%%#"
  10. Set "versionFix=!versionFix:u=!" & Rem Elimino el caracter "u"
  11.  
  12. If !versionFix! LEQ %JRE.Currentversion% (
  13. Echo !VersionFix!: la version del instalador es igual o menor que la version actual de JavaRE.
  14.                Start /W "Java" "%Installer.Name%" /s /v /qn MOZILLA="1" REBOOT="Suppress" JAVAUPDATE="0" EULA="1"
  15. )
  16.  
  17. )
  18.  
  19. Pause&Exit /B 0

Saludos
« Última modificación: 27 Octubre 2014, 21:03 pm por Eleкtro » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
disco duro wd15ears solo maestro?
Hardware
dansone 1 3,680 Último mensaje 13 Enero 2011, 01:32 am
por Aprendiz-Oscuro
Disco duro de 320 GB solo detecta 0mb « 1 2 »
Hardware
jonathanmr 15 32,723 Último mensaje 27 Octubre 2012, 00:47 am
por Aprendiz-Oscuro
[Solucionado] [BATCH] Buscar archivo en disco duro y eliminarlo.
Scripting
dimoca 1 2,288 Último mensaje 13 Abril 2014, 05:42 am
por dimoca
Como cambiar la serie de un ejecutable que funciona con el numero del disco duro
Hacking
sergio_501 1 2,606 Último mensaje 19 Mayo 2018, 03:28 am
por skynet777
Buscar una web sabiendo solo parte de la dirección
Dudas Generales
sunbikers 3 2,044 Último mensaje 1 Septiembre 2022, 17:46 pm
por sunbikers
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines