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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  Ejercicio BATCH
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ejercicio BATCH  (Leído 8,022 veces)
ne0x

Desconectado Desconectado

Mensajes: 270



Ver Perfil
Ejercicio BATCH
« en: 1 Mayo 2007, 16:21 pm »

Lo que hay que hacer es lo siguiente:

Crear un script en batch que busque en todos los archivos por lotes del sistema los comandos que estaran almacenados en un archivo que le sirva de basen de datos.

Si encuentra mas de 2 coincidencias advertira de la existencia del archivo por lotes.

Si encuentra 3 lo renombrara a .txt manteniendolo en su ruta original.

Si encuentra 4 lo copia a una carpeta de cuarentena y borra el original.

Si encuentra 5 lo borrar ya directamente...

Os advierto de que el script no debe eliminarse a si mismo.


Si ya haceis la crêm de la crêm os la teneis que idearos para que cada vez que encuentra un archivo por lotes que supera 1 unico comando encontrado preguntar si lo agregais a la lista de excepciones, si este esta agregado ya , en futuros scanneos no se debe volver a preguntar si se agrega o no.

Todo esto yo ya lo consegui, asi que si que es posible usando unicamente batch, no debe mezclarse con ningun otro tipo de lenguaje de scripting, no esta permitido el uso del comando debug.

Si os poneis a hacerlo y os lleva tiempo ponerlo aqui para que sepa que por lo menos alguien lo hace.

Las soluciones mandarmelas por MP
, si vuestro code cumple las condiciones anteriores pondre aqui vuestro nombre.

PD: Si no veis como hacerlo mirar por el foro de scripting, sobre todo una recompilación de scripts que hay y el manual de Sdc


En línea

ne0x

Desconectado Desconectado

Mensajes: 270



Ver Perfil
Re: Ejercicio BATCH
« Respuesta #1 en: 11 Mayo 2007, 17:01 pm »

Esto esta muerto....

Bueno aqui teneis la version básica, sin archivo de excepciones.
A ver si alguien consigue hacerlo.

Código:
:: Buscador de comandos en scripts BATCH
:: Autor ne0x
:: Sintaxis:

:: NombreDelScript Ruta1
:: Ruta1  Indica la ruta del archivo de texto plano que contiene los comandos a buscar


SETLOCAL

if not exist %1 echo El primer parametro esta mal indicado & goto :END
md %TMP%\CUARENTENA

echo\ > %TMP%\lista.tmp
for %%A IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
   if exist %%A:\ (
      cd /D %%A:\
      for /R %%E IN (*.cmd) DO echo %%E >> %TMP%\lista.tmp
      for /R %%E IN (*.bat) DO echo %%E >> %TMP%\lista.tmp
      )
      )
for /F %%I IN (%TMP%\lista.tmp) DO (
    if %%I==%0 goto :SIGUIENTE_SCRIPT
    set CONTADOR=0
    set SCRIPT=="%%I"
    for /F %%J IN (%1) DO (
      find /I "%%J" """%SCRIPT%""" > nul
      if %errorlevel%==0 set CONTADOR=CONTADOR+1
      if %CONTADOR%==2 echo 2 comandos encontrados en %SCRIPT%
      if %CONTADOR%==3 call:renombrar %SCRIPT%
      if %CONTADOR%==4 call:copia %SCRIPT%
      if %CONTADOR%==5 DEL /Q /S %SCRIPT%
    :SIGUIENTE_SCRIPT
     )
     )





:END
ENDLOCAL
EXIT /B

:renombrar
ren %1 %~dpn1.txt
set SCRIPT=%~n1.txt
echo El script %1 ha sido renombrado a %~n1.txt
goto:EOF

:copia
copy %1 %TMP%\CUARENTENA
del /Q /S %SCRIPT%
echo El script %1 ha sido movido a %TMP%\CUARENTENA
set SCRIPT=%TMP%\CUARENTENA\%~n1.txt


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Programacion batch ejercicio
Scripting
cnxi 4 8,874 Último mensaje 15 Diciembre 2011, 01:41 am
por leogtz
Duda-- problema con ejercicio en batch
Scripting
estebankpo15 9 7,038 Último mensaje 23 Septiembre 2013, 05:44 am
por estebankpo15
Ejercicio batch, ayuda
Scripting
jalbtercero 2 2,118 Último mensaje 28 Enero 2016, 12:17 pm
por jalbtercero
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines