Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: MK-Ultra en 8 Diciembre 2007, 18:37 pm



Título: Duda sobre batch
Publicado por: MK-Ultra en 8 Diciembre 2007, 18:37 pm
Como hago en batch para comprobar , dado un directorio, si existe en ese directorio un archivo X. Porque hice un programa creador de archivos (como ejercicio) y anda a la perfeccion, pero me gustaria que antes de crear el archivo comprobase si hay algun archivo en ese directorio con el mismo nombre asi no lo sobreescribe.

Muchas gracias!


Título: Re: Duda sobre batch
Publicado por: zhynar_X en 8 Diciembre 2007, 18:45 pm
Si no recuerdo mal era con "if exist...", un ejemplo seria:

Código
  1. @echo off
  2.  
  3. if exist c:\hola.txt echo si existe
  4.  

Saludos


Título: Re: Duda sobre batch
Publicado por: MK-Ultra en 8 Diciembre 2007, 18:48 pm
buenissimo. ahora me surgio otra duda : se puede agrandar el tamaño de la fuente de las letras en batch?


Título: Re: Duda sobre batch
Publicado por: zhynar_X en 8 Diciembre 2007, 18:56 pm
Poder se puede pero que yo sepa no se puede desde un codigo BATCH, para cambiar el color predeterminado, fuente, tamaño de letra,... en la barra de tareas le das a click derecho y a preferencias (creo). Ahora no lo puedo probar porque tengo el linux enchufado y no me apetece arrancar el windows xD.


Saludos!


Título: Re: Duda sobre batch
Publicado por: MK-Ultra en 8 Diciembre 2007, 19:31 pm
el color se cambia con un commando por eso yo queria saber si habia alguno para cambiar le tamaño.

proba:

Código:
@ echo off
color 0c
echo hola mundo!
pause > nul
exit
Por cierto, el creador de archivos me quedo así:

Código:
@echo off
title Creador de Archivos de ^^Arkangel Creations^^

:menu
cls
color 0c
echo.
echo.
echo Bienvenido al creador de Archivos de ^^Arkangel Creations^^ !
echo.
echo.
echo para continuar presiona cualquier tecla
pause > nul
cls
echo Que archivo te gustaria crear?
echo.
echo.
echo  Presiona   Para crear un
echo.
echo  ^|   1   ^| ^|    .txt     ^|
echo.
echo  ^|   2   ^| ^|    .bat     ^|
echo.
set /p archivo=
if %archivo%==1 goto txt
if %archivo%==2 goto bat

:txt
cls
echo.
echo Has decidido crear un archivo .txt !
echo.
set /p name=Escrive el nombre de tu archivo:
cls
echo Entonces tu archivo sera %name%.txt
echo.
echo.
set /p confirmacion=Estas deacuerdo?
if %confirmacion%==si goto ok
if %confirmacion%==no goto menu

:ok
if exist %name%.txt goto error
echo Bienvenido a tu nuevo archivo! >> %name%.txt
echo Felicidades, tu nuevo archivo ha sido creado!
echo Quieres ir a el ahora?
set /p ir=
if %ir%==si goto dale
if %ir%==no goto no

:dale
start %name%.txt
exit

:bat
cls
echo.
echo Has decidido crear un archivo .bat !
echo.
set /p name=Escrive el nombre de tu archivo:
cls
echo Entonces tu archivo sera %name%.bat
echo.
echo.
set /p confirmacion=Estas deacuerdo?
if %confirmacion%==si goto deacuerdo
if %confirmacion%==no goto menu

:deacuerdo
if exist %name%.bat goto error
echo Bienvenido a tu nuevo archivo! >> %name%.bat
cls
color 0a
echo Felicidades, tu nuevo archivo ha sido creado!
echo Quieres ir a el ahora?
set /p ir=
if %ir%==si goto si
if %ir%==no goto no

:si
start %name%.bat
exit

:no
exit
:error
cls
color 0c
echo El archivo ya existe, por favor cambia el nombre del archivo
pause > nul
goto menu


Título: Re: Duda sobre batch
Publicado por: zhynar_X en 8 Diciembre 2007, 20:16 pm
Esta bastante bien para empezar aunque podrias hacerlo usando menos codigo, asi:
Cuando menos codigo use mejor. ;D ;D

Código
  1. @echo off
  2. title Creador de Archivos de ^^Arkangel Creations^^ (Modificado por zhynar)
  3.  
  4. :menu
  5. cls
  6. color 0c
  7. echo Bienvenido al creador de Archivos de ^^Arkangel Creations^^ !  (modificado por Zhynar)
  8. echo para continuar presiona cualquier tecla
  9. cls
  10. echo Que archivo te gustaria crear?
  11. echo  Presiona   Para crear un
  12. echo  ^|   1   ^| ^|    .txt     ^|
  13. echo  ^|   2   ^| ^|    .bat     ^|
  14. set /p archivo=
  15. if %archivo%==1 set /a ext=txt
  16. if %archivo%==2 set /a ext=bat
  17.  
  18.  
  19. cls
  20. echo Has decidido crear un archivo .%ext% !
  21. set /p name=Escrive el nombre de tu archivo:
  22. cls
  23. echo Entonces tu archivo sera %name%.%ext%
  24. set /p confirmacion=Estas deacuerdo?
  25. if %confirmacion%==si goto ok
  26. if %confirmacion%==no goto menu
  27.  
  28. :ok
  29. if exist %name%.txt goto error
  30. echo Bienvenido a tu nuevo archivo! >> % style="color: #448888;">name%.%ext%
  31. echo Felicidades, tu nuevo archivo ha sido creado!
  32. echo Quieres ir a el ahora?
  33. set /p ir=
  34. if %ir%==si goto dale
  35. if %ir%==no goto no
  36.  
  37. :dale
  38. start %name%.%ext%
  39.  
  40. :no
  41.  
  42. :error
  43. cls
  44. color 0c
  45. echo El archivo ya existe, por favor cambia el nombre del archivo
  46. goto menu
  47.  

Despues solo te quedaria ponerle la opcion de escribir dentro de larchivo, eso podrias hacer con un bucle. ;D


Saludos!!


Título: Re: Duda sobre batch
Publicado por: MK-Ultra en 9 Diciembre 2007, 00:38 am
Sabes q considere en hacerlo asi, pero nu se porq me resulto mas facil a mi modo jajaja :xD



Título: Re: Duda sobre batch
Publicado por: MK-Ultra en 9 Diciembre 2007, 00:44 am
no entiendo una cosa:
Código:
set /p archivo=
if %archivo%==1 set /a ext=txt
if %archivo%==2 set /a ext=bat

porque aka pones set /a en vz de /p ?

Tenia entendido q se ponia /a para cuando se trataban de numeros , cuando habia q hacer operaciones por ejemplo. Cual es la diferencia?


Título: Re: Duda sobre batch
Publicado por: MK-Ultra en 9 Diciembre 2007, 00:50 am
no funka el tuyo, proba vs


Título: Re: Duda sobre batch
Publicado por: zhynar_X en 9 Diciembre 2007, 12:28 pm
no entiendo una cosa:
Código:
set /p archivo=
if %archivo%==1 set /a ext=txt
if %archivo%==2 set /a ext=bat

porque aka pones set /a en vz de /p ?

Tenia entendido q se ponia /a para cuando se trataban de numeros , cuando habia q hacer operaciones por ejemplo. Cual es la diferencia?


Me equiboque envez de "set /a ext=txt" habia que poner solo "set ext=txt". Asi la parte esa del codigo quedaria:
Código
  1. set /p archivo=
  2. if %archivo%==1 set ext=txt
  3. if %archivo%==2 set ext=bat
  4.  

Ahora SI lo he provado y funciona bien xD.


Saludos


Título: Re: Duda sobre batch
Publicado por: MK-Ultra en 9 Diciembre 2007, 12:32 pm
ok ok  ;D