Ayuda con los comandos batch

Iniciado por DA KILLER, 7 Abril 2010, 22:34 PM

0 Miembros y 1 Visitante están viendo este tema.

DA KILLER

Saludos como se imaginaron al leer el título del post si, soy lammer y recién estoy empezando.

Vine a pediros una ayudita ya que si bien paso cierto tiempo conectado no le dedico mucho tiempo a leer tutos y me gustaría que me explicasen bien los comandos de los batches.

sobre todo las variables "set" "if" y demás.

Les dejo un ejemplo de lo poco que ya domino no será lo mejor que hayan visto ni lo mejor que puedo hacer pero lo hice en 15 minutos y completamente a mano como una broma para un amigo, y para ser mi primer batch cre que pudo haber sido peor.

Características: Batch simple, inofensivo y relativamente gracioso para ejecutar.

link: http://www.mediafire.com/?zztmwbwotm4

PD: si alguien me quiere compartir manuales xfass msubanlos a mediafire ya que no puedo utilizar RS ni MU ni DF ni nada porque mi IP es compartida y, es una larga historia y no quiero hacer spam, en fin, por si no quieren descargar el archivo el batch es así:
Código (dos) [Seleccionar]
@echo off
color 0a
:menu
echo.
echo                    --------------------------------------------
echo                     .*ï AHORCADO SYSTEM v1.7 by THE KILLER `*.
echo                    --------------------------------------------
echo.
echo.
title Ahorcado system v1.7 by THE KILLER
color 0a
echo.
echo elige una opci¢n 1 o 2
echo.
echo 1) AHORCADO ESTANDAR
echo.
echo 2) AHORCADO PERSONALIZADO
echo.
set/p q1=Respuesta:
if %q1%== 1 goto :normal
if %q1%== 2 goto :personal
if %q1%==GTR 2 goto :menu
if %q1%==LSS 1 goto :menu
echo.
echo Opcion inv lida.
echo.
echo Presiona una tecla para volver a intentar...
pause>nul
cls
goto :menu
:normal
echo.
echo Ud. ha escogido el modo "AHORCADO ESTANDAR".
echo.
echo Nuestro asistente le explicar  paso a paso como suicidarse.
echo.
echo Por favor pulse cualquier tecla para continuar.
pause >nul
cls

echo Por favor espere...
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0A
echo.
Echo Hemos establecido la conexi¢n con el servidor.
echo.
echo Lamentablemente no hay operadores disponibles por el momento
echo.
echo Pulse cualquier tecla para que el computador lo guie de manera autom tica.
pause >nul
cls
echo.
echo                          -----------------------------
echo                           Como suicidarse en 9 pasos:
echo                          -----------------------------
echo.
pause >nul
echo 1§) Busque una soga o un objeto similar.
echo.
pause >nul
echo 2§) Haga un nudo de horca con ella.
echo.
pause >nul
echo 3§) Busque una silla y £biquela bajo una viga u objeto semejante capaz de
echo     soportar su peso.
echo.
pause >nul
echo 4§) Pase la soga o su substituto sobre la viga y amarre el extremo opuesto al
echo     nudo.
pause >nul
echo.
echo 5§) Ubique la silla bajo el nudo.
echo.
pause >nul
echo 6§) Escriba una carta de despedida dando mucha l stima a quien la lea
echo     (tanta como sea posible).
echo.
pause >nul
echo 7§) Por favor subas, a la silla (sin el ordenador).
echo.
pause >nul
echo 8§) Pase el nudo por su cuello.
echo.
pause >nul
echo 9§) Junte valor para patear la silla.
echo.
pause >nul
echo Necesita ayuda sr/a.?
echo.
echo S/N
pause >nul
cls
pause >nul
echo Solucionando problema ...
echo.
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0A
echo Problema solucionado
echo.
pause
cls
color 0A
echo.
echo       Ud. Acaba de donar todo su dinero a la organizaci¢n AHORCADO SYSTEM,
echo           junto con sus propiedades y la p¢liza de su seguro de vida.

echo.
echo.
echo   Para ahorrar costos la corporcai¢n AHORCADO SYSTEM S.A. utilizar  su cadaver
echo como combustible en invierno o en su defecto como abono org nico de baja calidad
echo.
echo     Su casa y dem s propiedades ser n rematadas, dinero que ser  utilizado
echo  para invertir en Microsoft y sus mejores pertenecias ser n donadas al Vaticano
echo                      como caridad, para evadir impuestos.
echo.
echo.
echo  Ud debe por este servicio U$D 1.000.000, monto que le ser  cobrado a su familia
echo   luego de editar su carta de suicidio recomendando utilizar AHORCADO SYSTEM.
echo.
echo.
echo      La compania AHORCADO SYSTEM le agradece su donativo, y le desea un muy
echo                                   feliz suicidio.
echo.
echo                                                     Pulse [Enter] para salir...
pause >nul
cls
color 0D
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo      Gracias por usar AHORCADO SYSTEM v1.7, El sistema de suicidio asistido
echo                   v¡a internet mas usado del pais desde 2010
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause >nul
exit
:personal
echo.
echo Ud. ha escogido el modo "AHORCADO PERSONALIZADO".
echo.
echo Por favor pulse cualquier tecla para continuar.
pause >nul
cls
echo POR FAVOR INTRODUZCA SU NOMBRE:
set/p nombre=
echo.
color 0c
echo Hola sr/a. %nombre%
echo Pulse cualquier tecla para proseguir...
pause >nul
cls
echo Muy bien %nombre% d¡game su edad:
set/p edad=
echo.
echo OK, asi que ud. tiene %edad% a¤os, no?
echo.
pause >nul
CLS
echo Y, como dijo que quiere morir?
echo.
echo EJEMPLOS:
echo.
echo Lenta y dolorosamente
echo.
echo R pida e indoloramente
echo.
set/p muerte=
echo.
pause >nul
cls
echo Y digame, ¨Por qu, se quiere suicidar?
set/p suicidio=
echo.
pause >nul
cls
echo Interpretando datos...
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0C
color 0A
color 0E
color 0B
color 0D
color 0F
color 0A
echo.
pause
cls
echo Entonces, ud. %nombre% decidi¢ a sus %edad% a¤os suicidarse por el motivo "%suicidio%"
echo.
echo Est  listo/a para continuar?
echo S/N
pause >nul
cls
echo.
echo          Gracias por donar todo su dinero a la corporaci¢n AHORCADO SYSTEM
echo.
echo  Nuestros hombres se presentar n a asistirlo/a en su suicidio el d¡a 1§ de Mayo
echo                          del a¤o 2087 a las 03:27 hs.
echo.
echo     Recuerde que nuestros hombres NO TRABAJAN fines de semana ni feriados.
echo.
echo                    Horario de atenci¢n personalizada a domicilio:
echo                         De 8:00 a 12:00 y de 17:00 a 22:00 hs.
echo.
echo AHORCADO SYSTEM le desea que muera %muerte%.

pause >nul
cls
color 0D
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo      Gracias por usar AHORCADO SYSTEM v1.7, El sistema de suicidio asistido
echo                   v¡a internet mas usado del pais desde 2010
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
echo.
pause >nul
exit


Bueno y ya que estoy les dejo mis dudas:

¿Puede un batch crear un archivo con X caracteríasticas ? ¿cómo?
¿Puedo hacer que un batch se ejecute a pantalla completa? ¿cómo?
¿Como hago para insertar símbolos (como los del Microsoft word) en un batch?
¿Puedo hacer que el usuario NO PUEDA cerrar la ventana de DOS mediante el uso del puntero o del administrador de tareas ni que pueda salir a windows?

EJ: Si yo crease un bat que para continuar su ejecución requiriese un pass y si no fuese ese en cuestión no pudiese salir del programa si no es mediante el reseteo del ordenador

¿Cuál es la diferencia entre un bat, un exe y un com? ¿su "escritura" es o puede ser similar?

¿Puedo hacer que un batch se ejecute sin ser notado?

ACLARO: Ni minimizado, ni que se vea en el administrador de tareas

Si no se puede hacer, ¿puede hacerse en Vb?

bueno eso es lo más importante

ah y casi me olvido también lo del comando "call" eso no lo entiendo muy bien.

Bueno, saludos y si reviví un post, o me equivoqué de categoría pido disculpas.

Desde Ya gracias.
.: DA KILLER :.



---saster---

mmm, para ser tu primer bat vas bien, sigue asi, y no dejes de leer manuales

usa mode para la pantalla completa, o start /max

puedes insertar muchos simbolos solo los tienes que encontrar

para la contraseña puedes hacer algo asi

@echo off
set/p "var=password:"
if ["%var%"]==["12345"] (
[code]&exit
) else (echo paswword incorrecta)


el comando call lo que hace es llamar una subrutina con unos parametros

@echo off
call:a "abc"
:b
::esto se vería segundo
echo 123
pause&exit
:a
::esto se vería primero
echo %~1
goto:eof


saludos[/code]

leogtz

Y set e if No son variables.

Set es un comando e if es una estructura condicional, aunque para el cmd.exe sea un comando interno.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

winroot

hola

primero lo primero...

exe
aplicacion
com
aplicacion
bat/cmd
script interpretado por cmd.exe o command.com


podes entender un poco mejor si abres un exe con el bloc de notas, y si haces lo mismo con un bat.

los exes/com estan en formato de codigo maquina, y los batch son en texto plano.

ahora...
call, tambien se usa como un include en c++
call a.bat


lo del admin y eso, tendras que usar el comando reg.
para  editar el registro de windows y hacer  cosas como poner tu bat como servicio de windows, ponerlo al arranque, denegar el acceso al  admin de tareas,etc
aunque, esto ya seria medio maligno, y poco etico.
el comando sc, tambien te puede ser util para crear servicios.

luego  comandos como
attrib,mkdir,rmdir,copy,xcopy, etc
tambien los tienes que saber.

el if, se puede usar tambien como:
if exist c:\a.txt echo a.txt existe
si existe c:\a.txt, mostrar a.txt existe.

el comando for tambien es de mucha utilidad, y yo solo manejo el  clasico,  aca te pueden ayudar con los modificadores.
for %%a in (c: d: e: f: g:)do if exist %%a\ echo la unidad %%a existe
creo que sirdarckcat tiene un tuto muy bueno de programacion batch avanzada, muy recomendable.

saludos

Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com

---saster---

for %%a in (c: d: e: f: g:)do if exist %%a\ echo la unidad %%a existe

para hacer eso es mejor el wmic

yo lo hice hace poco con el fsutil

Código (dos) [Seleccionar]
@ECHO OFF
::obteniendo unidades disponibles con fsutil
::el comando fsutil requiere privilegios de administrador
::by ---saster---
title Unidades
set "list="
for /f "tokens=1*" %%a in ('fsutil fsinfo drives') do (
    set "vol=%%b"
    call set "list=%%list%% %%vol%%"
)
for %%A in (%list%) do fsutil fsinfo drivetype %%A

echo.&pause>nul&goto:eof


saludos

winroot

hola
a eso me referia con los modificadores de for.
:D
nunca me puse a practicar con for /algo

fsutil, tiene comandos interesantes como file, que entre otras cosas te deja crear un archivo sin contenido con un tamanio de 10gb :P
creo que es algo como:
fsutil file create c:\a.txt 2000

en este caso, el archivo creo que es de 2mb o kb, no recuerdo en que unidad se expresava el tamanio de archivo.


despues, si se quiere ser mas maligno, se puede usar diskpart :xD
entre otras cosas, te deja eliminar una particion secundaria en 1 segundo
o el comando debug, tambien se puede usar con fines malignos.

more, es otro comando muy util
despues tenes que saber los operadores de redireccion

echo hola >>c:\a.txt

en este caso, escribira hola en el  fichero c:\a.txt

saludos
Mi blog sobre programación y seguridad informática:
http://win-root.blogspot.com