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


 


Tema destacado: Análisis del vídeo del hackeo al Sindicato de los Mossos de Esquadra


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderador: Eleкtro)
| | |-+  Problema con condigo If Exist y For
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema con condigo If Exist y For  (Leído 974 veces)
xBart

Desconectado Desconectado

Mensajes: 29


No hay ser humano inteligente,que aquel que no lee


Ver Perfil
Problema con condigo If Exist y For
« en: 10 Noviembre 2017, 23:56 »

Buenas tardes, tengo este código de batch, pero no me funciona el "else". La idea es que si no encuentra las extensiones mencionadas, me debería abrir paint-.

De antemano gracias.

Código:
@ECHO OFF
for %%i in (*.txt *.pdf *.jpg) do (
IF EXIST %%i (goto del) else (goto sla)
:del
echo abrira la calculadora
calc.exe
exit
:sla
echo abrira paint
mspaint.exe
)
cls
pause


En línea

No hay ser humano inteligente, que aquel que no lee...
**Aincrad**

Desconectado Desconectado

Mensajes: 180



Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #1 en: 11 Noviembre 2017, 00:50 »

bueno el codigo que pusiste arriba el error esta en for %%i in (*.txt *.pdf *.jpg) do

bueno mejor haslo de esta manera:  

Código
  1. @echo off
  2. :txt
  3.       if exist *.txt == (goto del) else (goto pdf)
  4. :pdf
  5.       if exist *.pdf == (goto del) else (goto jpg)
  6. :jpg
  7.       if exist *.jpg == (goto del) else (goto sla)
  8. exit
  9.  
  10. :::::::::::::::::::::::::::::
  11. :del
  12. :::::::::::::::::::::::::::::
  13. echo abrira la calculadora
  14. calc.exe
  15. exit
  16.  
  17. :::::::::::::::::::::::::::::
  18. :sla
  19. :::::::::::::::::::::::::::::
  20. echo abrir paint
  21. mspaint.exe
  22. cls
  23. pause
  24.  
  25.  


« Última modificación: 11 Noviembre 2017, 02:05 por **Aincrad** » En línea

xBart

Desconectado Desconectado

Mensajes: 29


No hay ser humano inteligente,que aquel que no lee


Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #2 en: 11 Noviembre 2017, 01:57 »

Cual???
En línea

No hay ser humano inteligente, que aquel que no lee...
**Aincrad**

Desconectado Desconectado

Mensajes: 180



Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #3 en: 11 Noviembre 2017, 02:07 »

Perdón , como tengo el internet lentísimo no me di de cuenta que el code no se había publicado .  :)

PD:              TE FUNCIONO? 
En línea

xBart

Desconectado Desconectado

Mensajes: 29


No hay ser humano inteligente,que aquel que no lee


Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #4 en: 11 Noviembre 2017, 02:16 »

Pues, en teoría debería funcionar. Lo había hecho de esa manera porque quería hacerlo simplificado, es decir; englobar el if exist.

Muchas gracias, seguiré intentando, si no puedo, tendré que hacerlo de esa manera, if exist linea por linea
En línea

No hay ser humano inteligente, que aquel que no lee...
**Aincrad**

Desconectado Desconectado

Mensajes: 180



Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #5 en: 11 Noviembre 2017, 02:26 »

si, lo querias hacer de esta forma:

Código:
for %%i in (*.txt *.pdf *.jpg) do (
IF EXIST %%i (goto del) else (goto sla)

déjame decirte que el *.pdf *.jpg no tenían ninguna función hay.

ya que el BATCH al verificar si existe algún txt  "*.txt" va a obviar los  *.pdf *.jpg .

no se si me explico . lo que quiero decir es que si quieres que el batch busque *.pdf *.jpg tienes que hacerlo por paso . como el code que te puse . en cambio si lo haces de la forma for %%i in (*.txt *.pdf *.jpg) que de paso esta mal codeado , el batch va a obviar los *.pdf *.jpg osea no los va a buscar.


« Última modificación: 11 Noviembre 2017, 02:31 por **Aincrad** » En línea

xBart

Desconectado Desconectado

Mensajes: 29


No hay ser humano inteligente,que aquel que no lee


Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #6 en: 11 Noviembre 2017, 02:30 »

Si amigo te entiendo. Gracias por tus respuestas. Lo haré de por separado.  ;)
En línea

No hay ser humano inteligente, que aquel que no lee...
**Aincrad**

Desconectado Desconectado

Mensajes: 180



Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #7 en: 11 Noviembre 2017, 02:32 »

un ejemplo de lo que te quiero decir :

Código:
if exist *.txt == (goto del) else (goto sla)
if exist *.pdf == (goto del) else (goto sla)
if exist *.jpg == (goto del) else (goto sla)

este code es lo mismo que for %%i in (*.txt *.pdf *.jpg) como ves ya con la primera linea el batch se salta la segunda y la tercera.

osea le dices : si existe elgun txt te vas a del y si no te vas a sla . y ya con eso el batch no lee las otras dos lineas . no se si me di a entender .
En línea

xBart

Desconectado Desconectado

Mensajes: 29


No hay ser humano inteligente,que aquel que no lee


Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #8 en: 11 Noviembre 2017, 02:51 »

Si amigo, lo entiendo, lo que pasa es que en esta linea de código:

Código:
for %%i in (*.txt *.pdf *.jpg) do

iba probando con ir agregando archivos .txt, archivos .pdf y .jpg. Eliminaba manualmente los txt y verificaba que si encontrara los pdf, después eliminaba los pdf y verificaba que encontrara los jpg, y pues si funcionaba, pensé que podría funcionar el exist para todas las extensiones. y no nada más para uno.

Pero lo haré por separado. Muchas gracias por tus mensajes. Saludos
En línea

No hay ser humano inteligente, que aquel que no lee...
**Aincrad**

Desconectado Desconectado

Mensajes: 180



Ver Perfil
Re: Problema con condigo If Exist y For
« Respuesta #9 en: 11 Noviembre 2017, 03:06 »

En ese caso como no te has dado cuenta , aqui te lo dejo:  :silbar:

Código
  1. @echo off
  2. for %%i in (*.txt *.pdf *.jpg) do (IF EXIST %%i (goto del) else (goto sla) )
  3.  
  4. :::::::::::::::::::::::::::::
  5. :del
  6. :::::::::::::::::::::::::::::
  7. echo abrira la calculadora
  8. calc.exe
  9. exit
  10.  
  11. :::::::::::::::::::::::::::::
  12. :sla
  13. :::::::::::::::::::::::::::::
  14. echo abrir paint
  15. mspaint.exe
  16. cls
  17. pause

te habia dicho donde estaba el error pero no me has prestado atención , en fin te lo dejo como lo queria en un principio.
 el error era el símbolo ) que pusiste en
Código:
mspaint.exe
)
cls

ese paréntesis es mal ubicado . para la próxima haber si te fijas . XD  :silbar:

                                             Comenta si te funciono.
« Última modificación: 11 Noviembre 2017, 03:08 por **Aincrad** » En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda con condigo php
PHP
Dannysoft 6 1,354 Último mensaje 18 Noviembre 2008, 12:55
por willyhunting
Ayuda con condigo socket porfavor...
Programación C/C++
visualfree 5 1,350 Último mensaje 7 Diciembre 2008, 23:20
por visualfree
Ayuda con condigo
Java
Erick9536 1 809 Último mensaje 8 Abril 2012, 15:50
por Proteus1989
Ayuda con Pirámide en condigo C
Programación C/C++
rafa_rdj 3 918 Último mensaje 29 Abril 2015, 03:59
por engel lex
[BATCH] If TEXT exist...
Scripting
TinnahB 3 642 Último mensaje 24 Septiembre 2016, 22:29
por TinnahB
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines