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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5
31  Programación / Scripting / Re: Programar en Batch en: 24 Febrero 2015, 13:38 pm
tienes google e incluso si haces click sobre el comando te manda a la pagina con la explicación...

Gracias no sabia que podia hacer click en los comandos xDD, me ahorraste caleta de tiempo buscando los parametros del for xD ;-) ;-)
Saludos
32  Programación / Scripting / duda con FOR en: 24 Febrero 2015, 13:26 pm
hola nuevamente xD, volvi con mis preguntas raras xD

tengo el siguiente codigo
Código:
@echo off
echo    éíííííííííííííííííííííííííííííííííííííííííííííííííííííííííí»
echo    º       shapes de los errores encontrados en archivos      º
echo    èíííííííííííííííííííííííííííííííííííííííííííííííííííííííííí¼

for /f "delims=! usebackq" %%c in (`sqlplus -s %conexion% @%path_sql%t`) do set res=%%c
fme.exe %path_fme%errores_archivos.fmw --comuna %res% --destdataset_oracle8i_db orcl_qa --out_user qa_datac --out_password qa_dc
echo  %res%
pause

los -- indican que viene un parametro, luego el nombre del parametro y el valor para el parametro
la %path_fme% ruta donde esta almacenado el archivo para que se ejecute con el programa fme
la %path_sql% es la ruta donde se almacenan los archivos de extension .sql osea las querys para la BD

el asunto es que el for no se cierra solo, me pide cerrarlo a mano escribiendo exit cuando el bat esta ejecutandoce y si al bat le dejo escrito exit me termina el bat, hay alguna forma de obligar a cerrar el for?

t solo es una consulta que dice
Código:
select nombre_comuna from var_comuna
(var comuna mi tabla), este valor lo rescato y se lo paso a %res% quien llenara comuna que servirá para hacer un log del programa fme
eso muchas gracias, ojala que lo pueda cerrar o me puedan orientar por que no se cierra solo el for....

Ahh se me olvidaba el For no tiene las llaves o parentesis () porque si le pongo los parentesis si o si me pedira que lo cierre yo mismo y luego de eso pasa al siguiente bat, en todos los otros bat al dejarlo sin los paréntesis termina de iterar y vuelve al for que lo llamo o sigue con lo siguiente

gracias, :silbar:
Saludos

EDITO: lo modifique para explicar un poco mejor unas variables  y unas comas que le daban otro sentido a mi explicacion
33  Programación / Scripting / Re: variables en batch en: 23 Febrero 2015, 12:50 pm
hola de nuevo, disculpa por no contestar de inmediato pero al irme del trabajo me desconecto de esto xD, también sorry por las mayúsculas pero como programa en mayúsculas se me queda muchas veces el mayúscula activado y se me olvida, igualmente las dejare como minúsculas aunque sea código

hice lo que me habías planteado, primero le hice un par de modificaciones a lo que me habías pasado, CON LAS MODIFICACION ANDA DE MARAVILLA  ;-) ;-) :laugh: :laugh: :rolleyes: ::), muchas gracias dejo el código corregido, por si a alguien le sirve aunque no creo, porque mis errores son tan específicos como tontos xD

Código
  1. @echo off
  2. rem ----- variables credenciales de bases de datos
  3. set conexion=qa_datac/qa_dc@orcl_qa
  4.  
  5. rem ----- variables --> directorios
  6. set list_wdg_path=%homedrive%\users\cristofer.martinez\desktop\batch_dwg\
  7. set path_script=%homedrive%\users\cristofer.martinez\desktop\batch_dwg\script\
  8. set path_sql=%homedrive%\users\cristofer.martinez\desktop\batch_dwg\sql\
  9. set path_fme=%homedrive%\users\cristofer.martinez\desktop\batch_dwg\fme_exe\
  10. set path_block=%homedrive%\users\cristofer.martinez\desktop\batch_dwg\archivos\
  11. set path_segmento=%homedrive%\users\cristofer.martinez\desktop\batch_dwg\archivos_segmento\
  12.  
  13. del "%path_sql%estadistica.sql"
  14. echo select count(*) from  errores_geom;>>"%path_sql%estadistica.sql"
  15. echo exit>>"%path_sql%estadistica.sql"
  16. for /f "tokens=* delims=" %%a in ('""sqlplus.exe" -s qa_datac/qa_dc@orcl_qa @%sqlpath%estadistica | "findstr.exe" "[0-9]""') do (
  17. set /a geom=%%~a
  18. echo %geom%
  19. )
  20. call "%path_script%prueba.bat"


2 bath, prueba.bat
Código:
@ECHO OFF
echo "este es el valor de la variable geom"
ECHO %geom%
PAUSE

Saludos
34  Programación / Scripting / Re: variables en batch en: 20 Febrero 2015, 16:59 pm
ELEKTRO USO EL USEBACKQ, PORQUE SE VEZ EN EL FOR

Código:
Código:
FOR /F "usebackq delims=!" %%c in (`sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%ESTADISTICA ^|Findstr "[0-9]"`) DO (
SET /A "VALUE=%%c"
ECHO %VALUE%
PAUSE
)
La palabra sqlplus se refiere a un programa de oracle a bases de datos, si no uso el usebackq, me desconoce la palabra sqlplusy me pide inicializarla, bueno solo me da el error de que no la encuentra, los siguientes datos corresponden a user/schema/service y luego le digo que
Código:
%path_sql%
es una ruta, le digo en esta ruta encontraras un archivo sql se llama estadistica, ejecutalo y tate, no me devuelve nada xD, echo no esta activo, la otra duda que me sugio elektro, y si la devolucion no es un numero? como seteas a la variable?? xq el set /a es para numeros no?, gracias por tu tiempo y tanta molestia de mi parte, saludos

Edito DISCULPA RESPONDI SIN VERIFICAR SIQUIERA CQUE HABIAN DOS EDICIONES, VOY A BUSCAR COMO MANEJAR LA  "Setlocal enabledelayedpexpansion" sorry, buscare y te cuento, gracias y saludos
35  Programación / Scripting / Re: variables en batch en: 20 Febrero 2015, 15:42 pm
Muchas gracias Master!!, voy a probar que tal y sino molesto de nuevo xD...
VUELVO

PUES NO ME RESULTO XD, ME SIGUE INDICANDO QUE EL ECHO NO ESTA ACTIVO, ES LO MISMO QUE ME INDICABA ANTES

Código:
FOR /F "usebackq delims=!" %%c in (`sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%ESTADISTICA ^|Findstr "[0-9]"`) DO (
SET /A "VALUE=%%c"
ECHO %VALUE%
PAUSE
)

eso es para probar y lo usare asi
Código:
FOR /F "usebackq delims=!" %%c in (`sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%ESTADISTICA ^|Findstr "[0-9]"`) DO (
SET /A "VALUE=%%c"
"call otro.bat"
)
dentro del otro.bat voy a llamar a la variable que tiene el valor de  la query
36  Programación / Scripting / Re: variables en batch en: 20 Febrero 2015, 14:35 pm
RESOLVI EL PROBLEMA TOMANDOLO DESDE OTRO PUNTO DE VISTA (CAMBIE LA FORMA EN LA QUE CORRE EL PROCESO XD), pero lamentablemente una y otra vez me vuelvo a topar con el mismo problema, necesito hacer uso de la informacion fuera del for pero como la informacion la tiene una variable
Código:
%%i 
no puedo hacer un
Código:
 set %result%=%%i
por que no le pasa el valor a la variable, ahora necesito lo mismo, contar lo que tiene la tabla, pero no logro saber como pasarle la informacion de la variable que muere fuera del for a una variable que siga existiendo fuera del for, ¿help? xD :-\ :( :-(
Edito:
lo que sucede es que al tener ejemplo esto
Código:
for /f in %%i (sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%t1)do set
(echo %%i)
o esto
(sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%t1)>COMUNAS.TXT

FOR /F "DELIMS=" %%B in (%PATH_COMUNAS%COMUNAS.TXT)
donde comunas tiene el valor de la query
Código:
select count(*) from tabla 
no se como subir la imagen, pero mueStra algo asi como ESTO
Código:
COUNT
--------
       0
SIN EMBARGO  A PESAR DE QUE TIENE DOS LINEAS, HACIENDO ANTERIORMENTE EN OTRA CONSULTA, PARA BUSCAR EL VALOR DE UNA COMUNA, LE ENTREGO A LA VARIABLE EL VALOR DE LA COMUNA NI MA NI MENOS, bueno en sintesis

me gustaria saber de que manera puedo entregarle la informacion obtenida de una query o de un txt como les sea mas facil , a una variable, para poder usar esta variable CON el valor fuera del bat, gracias >:D
37  Programación / Scripting / Re: variables en batch en: 11 Febrero 2015, 19:18 pm
pero entoncs Elektro porque no puedo pasar a una variable %v1% el valor del %%i, que se saca de la consulta sql, esto me a pasado cada vez que e intentado entregarle ese valor a una variable %x%, lo digo porque cuando intento de usar la variable, %%i DENTRO DEL FOR POR EJEMPLO NO HAY PROBLEMA, PERO FUERA DEL FOR, AL LLAMAR A LA VARIABLE NO TIENE VALOR  o Y INDICA QUE EL ECHO ESTA DESACTIVADO, perdon por las mayusculas programo con la mayuscula activa y aveces se me queda pegada la tecla

mira te explico, lo que estoy intentando de hacer es que, si la tabla errores_geom no tiene nada, siga corriendo un procedimiento, pero si esta tabla tiene un registro al menos, no siga corriendo el procedimiento, y salte a la siguiente archivo para proceder a validar si tiene errores, si tiene errores, la tabla se llena y nuevamente, salta a la siguiente archivo, esto debe tener una salida, para que la persona sepa porque se cayo para este archivo y si no le entregara los resultados esperados, tengo listo la lectura de los archivos, pasa uno por uno, el problema es que a veces esos archivos que son dibujados por personas tienen errores, por lo tanto debo ingresar esa validacion, lo que necesito es pasar el valor de esa query
Citar
(`sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%t1`)
entregarla a una variable, para usarla indiscriminadamente, entre todos los batch que necesito usar, asi tbn puedo sacar el nombre de las comunas, que tambien esta almacenado en una BD, si me puedes dar alguna otra idea de como entregarle a una variable el valor de la query mas arriba, esa query solo muestra un valor, porque como indicaba es un count de la tabla, ojalas me puedas hechar una mano, o algun otro que me pueda ayudar, gracias

saludos
38  Programación / Scripting / variables en batch en: 11 Febrero 2015, 17:16 pm
Hola de nuevo, tengo una duda existencial, estoy seguro que en algun momento resolvi esto, pero se me olvido, y no lo encuentro en la web,

tengo lo siguiente
Código:
FOR /F "usebackq delims=!" %%i IN (`sqlplus -s QA_DATAC/qa_dc@orcl_qa @%PATH_SQL%t1`) DO (
set valor= %%I
)
no me regulsta,  por si las dudas la query T! solo es un count de una tabla
Código:
select count(*) from  errores_geom

necesito pasar el valor de  i a una variable local, que pueda existir fuera del for, como lo puedo lograr? y aprovechando, esa valor de la tabla, cuanta registros, se esta pasando bien a la variable %%i, aunque no exista fuera del for

Saludos Gracias por su ayuda
39  Programación / Bases de Datos / Re: como hacer una consultar de 3 tablas en: 10 Febrero 2015, 14:09 pm
DEBERIAS SER UN POCO MAS CLARO CON TU PREGUNTA Y OJALA INDICAR LAS RELACIONES ENTRE LAS TABLAS, asi seria mucho mas facil para todos poder ayudar,

imaginare que las tablas se relacionan asi

Citar
shop_customer ---->shop_order
shop_order      ---->shop_order_position
shop_customer ---->usuario

asumiendo que las relaciones entre las tablas son esas, puedes hacer un join para enlazar las tablas entre si y obtener lo que necesitas
esto seria mas o menos asi
Código:
           SELECT U.NOMBRE, U.APELLIDO,SO.ORDER_ID, SOP.ID_PRODUCTO, SOP.AMOUNT
              FROM SHOP_CUSTOMER SC
      INNER JOIN SHOP_ORDER SO
                  ON SC.CUSTOMER_ID = SO.CUSTTOMER_ID ---CUSTTOMER_ID?? O CUSTOMER_ID, SEGURO FUE ERROR Y DEBERIA SER CUSTOMER_ID
      INNER JOIN SHOP_ORDER_POSITION SOP
                  ON SO.ORDER_ID = SOP.ORDER_ID
      INNER JOIN USUARIO U
                  ON SC.USER_ID = U.ID
 
LA SEGUNDA CON ESTE EJEMPLO TIENES PARA HACER LA SEGUNDA, aunque no se que tan bien lo resolví porque no lo pude probar y tu capacidad para explicar el problema es un poco mala, o quizás yo soy malo entendiendo

ESO O ENTENDI MAL?

Saludos
40  Programación / Scripting / Re: una variable se puede invocar cuantas veces? en: 10 Febrero 2015, 13:09 pm
LO RESPONDERE, POR SI A ALGUIEN LE SIRVE,

tengo aproximadamente 10 bat, hago uso de una variable en el bat1, luego esa variable no se vuelve a usar hasta el bat  9 y luego en el bat  10, mi confusion era, porque se estaban montanto las variables en otros bat intermedios, por eso pensaba que la variable se perdia en algun momento, pero no es asi, la variable, mientras  se setee en el bat 1 el valor de esa variable se puede usar en el bat 9 x ejemplo y luego volverla a setear y usarla en el 10 o si quieren no setearla y usarla en el bat 10, bueno esa era mi duda, ojala a alguien le pueda servir, la info, o quizas no y solo a mi se me ocurren estas dudas, tan tontas xD

Saludos
Páginas: 1 2 3 [4] 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines