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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  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 8,443 veces)
xBart

Desconectado Desconectado

Mensajes: 33



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

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

Un  usuario mas de la red...
**Aincrad**


Desconectado Desconectado

Mensajes: 668



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

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 am por **Aincrad** » En línea



xBart

Desconectado Desconectado

Mensajes: 33



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

Cual???
En línea

Un  usuario mas de la red...
**Aincrad**


Desconectado Desconectado

Mensajes: 668



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

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: 33



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

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

Un  usuario mas de la red...
**Aincrad**


Desconectado Desconectado

Mensajes: 668



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

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 am por **Aincrad** » En línea



xBart

Desconectado Desconectado

Mensajes: 33



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

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

Un  usuario mas de la red...
**Aincrad**


Desconectado Desconectado

Mensajes: 668



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

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: 33



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

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

Un  usuario mas de la red...
**Aincrad**


Desconectado Desconectado

Mensajes: 668



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

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 am 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 2,411 Último mensaje 18 Noviembre 2008, 12:55 pm
por willyhunting
[Perl] File Exist
Scripting
Niko^ 8 5,007 Último mensaje 16 Diciembre 2010, 15:32 pm
por ~ Yoya ~
Ayuda con condigo
Java
Erick9536 1 1,680 Último mensaje 8 Abril 2012, 15:50 pm
por Proteus1989
Ayuda con Pirámide en condigo C
Programación C/C++
rafa_rdj 3 4,351 Último mensaje 29 Abril 2015, 03:59 am
por engel lex
[BATCH] If TEXT exist...
Scripting
Tino 3 2,411 Último mensaje 24 Septiembre 2016, 22:29 pm
por Tino
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines