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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  (Batch) Si existe archivo entonces..
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: (Batch) Si existe archivo entonces..  (Leído 19,667 veces)
Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
(Batch) Si existe archivo entonces..
« en: 2 Mayo 2013, 05:28 am »

Buenas, por empezar, mucho de Batch no conozco, lo minimo asi que sepan entender.
lo mio es VB.

Ahora, la pregunta es, de que forma podria hacer un batch preguntando si en caso de que exista un archivo con un nombre especifico en un ruta, haga ciertas funciones como renombrar y mover o si el archivo tiene otro nombre, haga las mismas funciones, por ejemplo:

Código:
Si archivo es igual a MI ARCHIVO ABC entonces
renombrar
mover
ejecuto un script de un programa
mover
renombrar

Si archivo es igual a MI ARCHIVO 123 entonces
renombrar
mover
ejecuto un script de un programa
mover
renombrar
exit

El caso es que no se si usar "If exist" or "if archivo = then" (aunque tampoco entiendo mucho los condicionales de batch o como usar el "exist") en este caso, como seria que debo hacer el batch para preguntar si el nombre de un archivo en una ruta es igual a "XXX" entonces hacer ciertas funciones "o" si es igual a "XXXXX" hacer ciertas funciones.

Gracias de antemano.


En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.810



Ver Perfil
Re: (Batch) Si existe archivo entonces..
« Respuesta #1 en: 2 Mayo 2013, 06:52 am »

Viniendo de VB no debería ser dificil acostumbrarse a la sintaxis de Batch, símplemente de VB quédate con el "IF" y el "ELSE", y olvídate de todo lo demás como "then", "and", "or", o "elseif".

Primero de nada deberías leer la ayuda de cada comando en la consola...
Código:
IF /?
Rename /?
Move /?



Código
  1. :: Comprobar si un archivo existe
  2.  
  3. Set "Archivo=C:\archivo.txt"
  4.  
  5. If exist "%Archivo%" (
  6.  REM El archivo existe...
  7. ) ELSE (
  8.   REM El archivo no existe...
  9. )

Código
  1. :: Comparar un string
  2.  
  3. Set "Archivo=C:\archivo.txt"
  4.  
  5. If /I "%Archivo%" EQU "C:\MI ARCHIVO 123.txt" (
  6.  REM El nombre es igual...
  7. ) ELSE (
  8.   REM El nombre no es igual...
  9. )

Código
  1. :: Comprobar si un archivo existe y comparar el nombre
  2.  
  3. Set "Archivo=C:\archivo.txt"
  4.  
  5. If exist "%Archivo%" If /I "%Archivo%" EQU "C:\MI ARCHIVO 123.txt" (
  6.    Rename "%Archivo%" "otro nombre"
  7.    move "%Archivo%" "otro nombre"
  8.    "ruta\nombre script.bat"
  9. ) ELSE (
  10.   REM El archivo no existe o el nombre no es igual...
  11. )

Saludos.


En línea

Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: (Batch) Si existe archivo entonces..
« Respuesta #2 en: 2 Mayo 2013, 16:14 pm »

hmm gracias de todas formas y ya mire un poco mejor los ejemplos que da el cmd.

asi quedaria:

Código
  1. @echo off
  2.  
  3. cd..
  4.  
  5. Set "Mapa=Dota v6.77c.w3x"
  6. Set "MapaAI=Dota v6.77c AI 1.4b Rev2.w3x"
  7.  
  8.  
  9. If exist "%mapa%" (
  10.  
  11. Ren "%Mapa%" "File.mpq"
  12. Move "File.mpq" "Files\"
  13. Files\Winmpq.exe S file05
  14. move "Files\File.mpq" ".\"
  15. Ren "File.mpq" "%Mapa%"
  16.  
  17. ) Else (
  18.  
  19. Ren "%MapaAI%" "File.mpq"
  20. Move "File.mpq" "Files\"
  21. Files\Winmpq.exe S file05
  22. move "Files\File.mpq" ".\"
  23. Ren "File.mpq" "%MapaAI%"
  24. )
  25.  

Pero como seria en caso de que no exista ninguno de los 2?, ahi toma por seguro que si no esta el primero, el segundo hace las funciones, agrego otro "IF" ?
« Última modificación: 2 Mayo 2013, 16:16 pm por | Sota | » En línea

Eleкtro
Ex-Staff
*
Conectado Conectado

Mensajes: 9.810



Ver Perfil
Re: (Batch) Si existe archivo entonces..
« Respuesta #3 en: 2 Mayo 2013, 16:42 pm »

Citar
, agrego otro "IF" ?

Podrías, pero no es del todo necesario...

Código:
@echo off
 
cd..

If exist "Dota v6.77c.w3x" (Set "Mapa=Dota v6.77c.w3x")
If exist "Dota v6.77c AI 1.4b Rev2.w3x" (Set "Mapa=Dota v6.77c AI 1.4b Rev2.w3x")

If Defined MAPA (
    Ren "%Mapa%" "File.mpq"
    Move "File.mpq" "Files\"
    Files\Winmpq.exe S file05
    move "Files\File.mpq" ".\"
    Ren "File.mpq" "%Mapa%"
)

exit

saludos
« Última modificación: 2 Mayo 2013, 16:47 pm por EleKtro H@cker » En línea

Enemy

Desconectado Desconectado

Mensajes: 285


Que vuelva el personal de hace 15 años al foro!


Ver Perfil
Re: (Batch) Si existe archivo entonces..
« Respuesta #4 en: 4 Mayo 2013, 01:53 am »

Muchas gracias Electro H. Me vino muy bien la ayuda.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Comprobar si existe un archivo
Programación Visual Basic
{_The_Alwar_} 6 30,334 Último mensaje 20 Junio 2005, 01:50 am
por Slasher-K
Saber si un archivo existe o no « 1 2 3 4 »
Programación Visual Basic
viejolucho 32 9,292 Último mensaje 20 Agosto 2006, 09:37 am
por NYlOn
[batch] Existe algun commando para....
Scripting
MK-Ultra 6 5,024 Último mensaje 24 Marzo 2008, 06:32 am
por leogtz
Existe algun corrector de sintaxis para batch?
Scripting
bITEBUG 2 5,126 Último mensaje 23 Mayo 2011, 02:46 am
por bITEBUG
[BATCH] Existe comando Nircmd
Scripting
Nilrac 3 4,391 Último mensaje 14 Agosto 2012, 07:41 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines