Autor
|
Tema: Batch Multi Instalador (Leído 21,655 veces)
|
|
flony
Desconectado
Mensajes: 584
|
tenes razon leo con wmic lo podes sacar en esta pagina ya lo habias hecho vos http://foro.elhacker.net/scripting/batch_problema_con_script_para_detectar_usb_solucionado-t245816.0.htmlyo solo lo tunee un poco para que saque lo que necesita ociruam for /f "tokens=1" %%a in ('wmic logicaldisk get caption^, description ^| find /i "CD-ROM"') do (echo %%a) guarda que vi uno tambien pero el errorcito estaba despues de get caption^ xq faltaba el ^ despues de caption en esta pagina esta http://foro.elhacker.net/scripting/ayuda_a_programar_un_comando_en_dos-t281103.0.htmly ahora q veo mi code bien de cerca tiene un error aca copy "F:\msiexec.exe" "C:carpeta_:donde_lo_instalas"
deberia ser copy "F:\msiexec.exe" "C:\carpeta_donde_lo_instalas"
.... error de tipeo seria algo asi es para seguir agregando cosas para que detecte si es F:\ G:\ etc y lo guarde en una variable y ya te dejas de preocupar donde esta ubicado el usb... if exist msiexec.exe goto menu else (goto copiar)
:copiar for /f "tokens=1" %%a in ('wmic logicaldisk get caption^, description ^| find /i "extra¡ble"') do (set a=%%a) rem desde ahora %a% es el lugar donde esta ubicado el usb copy "%a%\msiexec.exe" "C:\carpeta_donde_lo_instalas" rem generalmente %windir%\system32
:menu cls echo eliga una opcion echo 1. instalar todo echo 2. instalar MySql echo 3. instalar Map echo 4. instalar Odbc set /p opc=¿ Que quieres hacer ? : if %opc%==1 goto opciones1 if %opc%==2 goto opciones2 if %opc%==3 goto opciones3 if %opc%==4 goto opciones4 if %opc% GTR 5 echo Haz ingresado un comando no valido, ingresa denuevo && goto menu
:opciones1 msiexec.exe /i "%a%\InstaladoresConsultores\Mysql\essential-5.0.37-win32.msi"
:opciones2 etc etc etc
|
|
« Última modificación: 26 Octubre 2010, 13:56 pm por flony »
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
FerJGS
Desconectado
Mensajes: 75
|
Hola ociruam.
Es complicdao...deberías aprender BATCH bien antes de ponerte con el manejo del ratón.
Si te interesa, ve creando botones de colores con el comando COLOUS, de bolivianito. Te aconsjeo que utilices blanco y los dos tonos de los colores para añadir luces y sombras a los colores. En un post que publiqué llamado "caracetres especiales, BATCH, bastante completo" puedes consultar cómo poenr bordes a los botones con colous.
Después, el script del que te hablo es algo como esto:
@echo off set "e=echo." title Mouse Example [By Binary_Death] :_main cls&%e%Press some button.&%e% %e%ÉÍÍÍÍÍÍÍÍÍÍÍÍ» %e%ºFirst Buttonº %e%ÈÍÍÍÍÍÍÍÍÍÍÍͼ %e%ÉÍÍÍÍÍÍÍÍÍÍÍÍ» %e%ºSec. Button º %e%ÈÍÍÍÍÍÍÍÍÍÍÍͼ call:mouse_get call:mouse_cmp "0000,0001,0002,0004,0005,0006,0007,0008,0009,000A,000B,000C,000D,000E" "0002,0003,0004" if %cmp%==1 (echo Click en el first button.&ping -n 5 localhost>nul) call:mouse_cmp "0000,0001,0002,0004,0005,0006,0007,0008,0009,000A,000B,000C,000D,000E" "0005,0006,0007" if %cmp%==1 (echo Click en el second button.&ping -n 5 localhost>nul) GoTo:_main :mouse_get ( echo.e100 B8 1 0'3'DB CD'3'B0 3'C'CD'3'B DB't'FA 91 D3 EA D3 E8 91 C3 echo.g116 echo.q )|Debug|Find /I "X">%temp%\mouse.dat for /f "tokens=2,3,4" %%x in (%temp%\mouse.dat) do ( set "BX=%%x" set "CX=%%y" set "DX=%%z" ) GoTo:EoF :mouse_cmp set/a cmp=0 for %%x in (%~1) do ( if "%CX%"=="CX=%%x" ( for %%y in (%~2) do ( if "%DX%"=="DX=%%y" ( set/a cmp=1 )))) GoTo:EoF
Pésimo inglés...verdad?
Solo tienes que cambiar las coordenadas en:
call:mouse_cmp "0000,0001,0002,0004,0005,0006,0007,0008,0009,000A,000B,000C,000D,000E" "0002,0003,0004"
ahí desde 0000 hasta 000E son las coordenadas horizontales, y luego lo de "0002,0003,0004"
Su funcionamiento es sencillo: detecta un clic, y si las coordenadas son esas, pones las instrucciones que quieras.
if %cmp%==1 (echo Click en el first button.&ping -n 5 localhost>nul)
Recuerda que las coordenadas son en hexadecimal:
0 1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c etc...
f=16 10=17 etc...
|
|
|
En línea
|
|
|
|
ociruam
Desconectado
Mensajes: 19
|
Saludos a todos: Agardesco sus ejemplos y observaciones en verdad son valiosas y muy avanzadas, espero puedan servirme y si me adentrare mas afondo al programar en batch, solo q demomento esta es mi rpiory y es por eso que os solicite de su apuyo el cual agradezco a todos, ya estare devuelta comentandolo.
Saludos y gracias
|
|
|
En línea
|
|
|
|
ociruam
Desconectado
Mensajes: 19
|
Hola a todos: Les comento algo me paso sin duda, probre los ejemplos y Wauuuuuuuuuuu,.......... no funciono, pero aun peor para mi el batch que he ido armando y conforme le creba lineas lo probava he iba funcionando, a hora al comenzar y nunca terminar me saca la leyenda. Presione una tecla para continuar Y presionando sigue saliendo la leyenda y nunca termina.
desconozco que pueda ser, no es virus ya que di formato creyendo que estaba infectado y puse antivirus.
Gracias por su ayuda saludos
|
|
|
En línea
|
|
|
|
flony
Desconectado
Mensajes: 584
|
si pones el code te puedo ayudar :rolleyes:debe ser algun goto que hace un bucle infinito...o que lleve a la salida puede ser mil cosas si lo pones te lo tuneo para lo que queres...debo decir que el bat q puse era un ejemplo lo tenias que terminar bue espero mandalo y lo vemos
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
ociruam
Desconectado
Mensajes: 19
|
Saludos: Aun no inserto el menu ya que lo trato de armar. pero como lo he benido haciendo era colocando linea a linea y probando e hiba avanzando. No se que haya sucedido, os coloco el codigo y os comento que esto es bajo Win7. Lo inicien en WinXp pero tube que utilizar Win7 y me ha sido mas complicado, desde ya te agradezco .
Este es el Code:
@echo off title "Batch Multi Instalador " color 17 echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º Backup º echo º º echo º Comenzando... º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. pause XCOPY "C:\Program Files\MySql" "C:\Backup\MySql\" /s/c/h/e/v/i/o/r/y/d/q/w echo. XCOPY "C:\ClienGPS" "C:\Backup\Clien\" /s/c/h/e/v/i/o/r/y/d/q echo ******* Proceso Ok ******************** echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ pause Echo. Echo. echo ******** Instalacion de OCX************** echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ copy "E:\SIs2010\actskn43\*.*" "C:\WINDOWS\system32\"/y echo ******** Proceso Ok rem cls pause rem ****************************************************************************** Echo. Echo Registro de OCX echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. C:\Windows\System32\regsvr32 C:\Windows\System32\Flash9.ocx /s C:\Windows\System32\regsvr32 C:\Windows\System32\actskn43.ocx /s C:\Windows\System32\regsvr32 C:\Windows\System32\MSCOMCTL.OCX /s C:\Windows\System32\regsvr32 C:\Windows\System32\msdxm.ocx /s C:\Windows\System32\regsvr32 C:\Windows\System32\MSFLXGRD.OCX /s C:\Windows\System32\regsvr32 C:\Windows\System32\MSWINSCK.OCX /s C:\Windows\System32\regsvr32 C:\Windows\System32\RICHTX32.OCX /s C:\Windows\System32\regsvr32 C:\Windows\System32\TABCTL32.OCX /s C:\Windows\System32\regsvr32 C:\Windows\System32\mschrt20.ocx /s C:\Windows\System32\regsvr32 C:\Windows\System32\FM20.DLL /s C:\Windows\System32\regsvr32 C:\Windows\System32\FM20ENU.DLL /s C:\Windows\System32\regsvr32 C:\Windows\System32\FM20ESN.DLL /s C:\Windows\System32\regsvr32 C:\Windows\System32\FM20ESP.DLL /s Echo. Echo. echo ******** Proceso Ok ********************* echo. echo. echo. echo. echo. echo. Echo. echo Inicia Copia Clen y Maps echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ pause xcopy "E:\SIs2010\Clien\*.*" "C:\Clien" /s/c/h/e/v/i/q/y/o/r Echo. XCOPY "E:\SIs2010\maps\*.*" "C:\Maps" /S /E /C /H /O /R /Y /D /V/i/Q rem cls Echo. echo ************ Concluido OK ************ echo. rem cls echo. echo. echo. Echo. echo ******** Inicia ODBC - MSXLM ********** echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ pause start /Wait E:\SIs2010\MySql-Odbc\setup.exe /quiet echo. Echo. Procesando... Echo. pause echo. Echo Procesando... Start /Wait E:\SIs2010\MSXML\MSXML.MSI /quiet Echo Procesando... echo. Start /Wait E:\SIs2010\MSXML\msxml6_x86_Sp.MSI /quiet Echo Procesando... echo ************ Concluido OK ************ echo. echo. rem Exit Echo. echo Inicia " MySQL - Maps " echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ Start /Wait E:\SIs2010\Mysql-essential-5.0.37-win32.msi /quiet pause Echo Procesando... echo. Start /Wait E:\SIs2010\Setup_Info\Maps\Maps_setup\setup.exe echo. Echo Procesando...pause start /wait E:\SIs2010\MySql-Odbc\mysql-essential-5.0.37-win32.msi echo. XCOPY /Wait "C:\Program Files\Maps\Maps 5.0\CUSTSYMB\*.*" "E:\SIs2010\CUSTSYMB\" /s/c/h/e/v/i/o/r/y/d/q/w echo. pause exit
|
|
|
En línea
|
|
|
|
flony
Desconectado
Mensajes: 584
|
a simple vista en la parte de 1*** C:\Windows\System32\regsvr32 C:\Windows\System32\Flash9.ocx /s es asi y para poner mas chiches un regsvr32 /s Flash9.ocx if errorlevel==1 echo Flash9.ocx no se activo 2***** si lo que queres es borrar la pantalla para q quede limpia es solo 3**** supongo q E:\ es el cd Start /Wait E:\SIs2010\MSXML\MSXML.MSI /quiet es msiexec.exe /i "E:\SIs2010\MSXML\MSXML.MSI" igual todos los archios que terminan en msi 4****por ultimo si E:\ es el cd no hagas XCOPY /Wait "C:\Program Files\Maps\Maps 5.0\CUSTSYMB\*.*" "E:\SIs2010\CUSTSYMB\" /s/c/h/e/v/i/o/r/y/d/q/w porque no podes copiar del disco c al cd....no tiene logica mñn lo veo bien para tunearlo pero q son los errores son 4
|
|
« Última modificación: 31 Octubre 2010, 07:37 am por flony »
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
ociruam
Desconectado
Mensajes: 19
|
Hola Flony: a simple vista en la parte de 1*** Código: C:\Windows\System32\regsvr32 C:\Windows\System32\Flash9.ocx /s es asi Código: regsvr32 /s Flash9.ocx "Al inicio lo coloque asi pero no me funciono me daba error yfue por eso que coloque la otra linea anterior"
y para poner mas chiches un Código: regsvr32 /s Flash9.ocx if errorlevel==1 echo Flash9.ocx no se activo "Este no lo e provado me puedes indicar para que sirve"
2***** Código: rem cls si lo que queres es borrar la pantalla para q quede limpia es solo Código: cls " Si de acuerdo"
3**** supongo q E:\ es el cd " SI pero aqui hay un detalle si la unidad cambia a D, E, F, G, no he podido generar el codigo para que lo busque sin inportar la unidad que fuese"
Código: Start /Wait E:\SIs2010\MSXML\MSXML.MSI /quiet es Código: msiexec.exe /i "E:\SIs2010\MSXML\MSXML.MSI" :"Esta linea no me funciona y es por eso que utilize la anterior pero hay ocasiones que no funciona"
igual todos los archios que terminan en msi 4****por ultimo si E:\ es el cd no hagas Código: COPY /Wait "C:\Program Files\Maps\Maps5\CUSTSYMB\*.*" "E:\SIs2010\CUSTSYMB\" /s/c/h/e/v/i/o/r/y/d/q/w porque no podes copiar del disco c al cd....no tiene logica
Seria Asi. Si tienes mucha razon aqui se quiere copiar del CD a C: COPY /Wait E:\SIs2010\Maps\CUSTSYMB\*.*" C:\Program Files\Maps\Maps5" /s/c/h/e/v/i/o/r/y/d/q/w
mñn lo veo bien para tunearlo pero q son los errores son 4
A que se debera dichos errores...? sera por la version del Win7
Saludos, gracias.
|
|
|
En línea
|
|
|
|
flony
Desconectado
Mensajes: 584
|
hola estaba preparando tu bat..pero de las opciones q tenias no se donde arranca cada una...lo de map msql y eso ponelo asi lo termino aca pongo un adelanto y si esos son todas las acciones que tenes q hacer @echo off title "Batch Multi Instalador " color 17 echo. echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» echo º º echo º Backup º echo º º echo º Comenzando... º echo º º echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ echo. pause>nul if exist "%windir%\system32\msiexec.exe" goto menu else (goto copiar) pause :copiar for /f "tokens=1" %%a in ('wmic logicaldisk get caption^, description ^| find /i "extra¡ble"') do (set a=%%a) copy "%a%\msiexec.exe" "%windir%\system32"
:menu cls echo eliga una opcion echo 1. instalar todo echo 2. instalar MySql echo 3. instalar Map echo 4. instalar Odbc set /p opc=¿ Que quieres hacer ? : if %opc%==1 goto opciones1 if %opc%==2 goto opciones2 if %opc%==3 goto opciones3 if %opc%==4 goto opciones4 if %opc% GTR 5 echo Haz ingresado un comando no valido, ingresa denuevo && goto ini
:opciones1 XCOPY "C:\Program Files\MySql" "C:\Backup\MySql\" /s/c/h/e/v/i/o/r/y/d/q/w echo. XCOPY "C:\ClienGPS" "C:\Backup\Clien\" /s/c/h/e/v/i/o/r/y/d/q echo ******* Proceso Ok ******************** echo ÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ pause
:opciones2 etc etc etc
|
|
|
En línea
|
si un problema no tiene solucion entonces no es un problema...es algo inevitable
|
|
|
|
|