Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - SuperDraco

#741
A mi también se me ocurrió lo de expandir, pero tambien por una razón que desconozco, no me funcionó :/  y lo hice igual que Leo, que raro xD

saludos
#742
1º Tengo una duda, ¿Con que intención haces un dir de la unidad? :/ Si intentas comprobar si la unidad existe, no es correcto, deberías usar if exist, o el comando del Dir + If %errorlevel%...

2º - Recuerda el uso de las comillas dobles en las acciones de "desinfectar" (en tu batch original como en el mio), de lo contrario no funcionaran las acciones sobre archivos con espacios en el nombre, y con los accesos directos lo mismo.

3º - en los If exist debes marcar la Ruta/letra de la unidad, por eso el bat solamente busca en el direcorio donde tenías tu batch.

4º Tu menú no funciona porque:

if %opcion%==d D:

No puedes marcar dos posibles respuestas (d y D:) en el mismo IF.

Asi que en tu batch original hace falta 4 posibles respuestas, entonces quedaría así:

if %opcion%==d ...
if %opcion%==D ...
if %opcion%==d: ...
if %opcion%==D: ...


Se que es un engorro, Pero con ingenio todo se puede simplificar, yo solo uso un IF que reune las 4 posibles respuestas qu he mencionado, y todas las demás que necesita tu batch original. Miratelo y aprende poco a poco, hay comandos muy utiles como el fsutil!

5º - Te he ordenado, simplificado, y mejorado el code. (Para que funcione correctamente, solo hace falta escribir la letra de la unidad (A,B,C,D,etc..) sin puntos Ya lo he corregido en el batch, puedes escribir "C" o "C:" ;D.

Saludos





Código (dos) [Seleccionar]

@echo off
Title=foro.elhacker.net
color cf
setlocal Enabledelayedexpansion



REM Listamos todas las unidades.

for /F "tokens=1-9* delims=:\ " %%a in ('fsutil fsinfo drives') do (
Set unidad=%%b & Call :verificar
Set unidad=%%c & Call :verificar
Set unidad=%%d & Call :verificar
Set unidad=%%e & Call :verificar
Set unidad=%%f & Call :verificar
Set unidad=%%g & Call :verificar
Set unidad=%%h & Call :verificar
Set unidad=%%i & Call :verificar
Set unidad=%%j & Call :verificar
)
goto :menu



REM Filtramos las unidades Fijas y Extraibles y nos deshacemos de las unidades opticas.

:Verificar
fsutil fsinfo drivetype !unidad:~-0,1!: | findstr /s "fija extra"
If %errorlevel% EQU 0 (
set /a num+=1
Set Unidad!num!=!unidad:~-0,1!:
goto:eof
) ELSE (
goto:eof
)



REM El menu para elegir la unidad a desinfectar.

:Menu
cls
echo+
echo ========================!num! UNIDADES ENCONTRADAS=========================
echo =======================================================================
echo ======================UNIDADES !unidad1!!Unidad2!!Unidad3!!Unidad4!!Unidad5!!Unidad6!!Unidad7!!Unidad8!!Unidad9!DETECTADAS=======================
echo =======================================================================
echo =====================PRESIONE LA LETRA DE LA UNIDAD====================


set /p opcion=
if exist %opcion::=%: (
goto :desinfectar
) ELSE (
echo+ & echo No se encuentra la unidad %opcion::=%:...
ping -n 2 LOCALHOST >nul
cls
goto :menu
)



REM Desinfectamos en la unidad seleccionada.

:Desinfectar
Setlocal Disabledelayedexpansion

echo =======================================================================
echo =======================================================================
echo =====================REPARANDO ARCHIVOS INFECTADOS=====================
Attrib /d /s -r -h -s "%opcion::=%:\*"
echo =======================================================================
echo =======================================================================
echo ======================ELIMINANDO ACCESOS DIRECTOS======================
if exist "%opcion::=%:\*.lnk" del /f /q "%opcion::=%:\*.lnk"
echo =======================================================================
echo =======================================================================
echo ==========================ELIMINANDO AUTORUN===========================
if exist %opcion::=%:\autorun.inf del /F %opcion::=%:\autorun.inf
echo =======================================================================
echo =======================================================================
echo ========================OPERACI¢N FINALIZADA===========================
echo =======================================================================
echo =======================================================================

msg *     =====ARCHIVOS REPARADOS D@NY3J=====

REM By PiToLoKo
REM foro.elhacker.net

setlocal Enabledelayedexpansion
goto :menu







PD: Lo he probado y me funciona bien, ya nos cuentas como te ha ido :)

#743
Scripting / Re: Ayuda en programacion de batch
28 Junio 2011, 22:01 PM
Eso es IMPOSIBLE!!!!

Por muy suizo que sea tu WinXP, dudo que si no sigues este orden: "Iniciar instancia del programa + argumentos" funcione de ninguna de las maneras la clave del registro, ni con el cmd ni con nada, pero bueno... si dices que con tu winxp si... es una suerte xD

Pero viendo lo que hace tu cmd... mejor no te contradigo xD

saludos.
#744
hola, debías ponerlo dentro del Call



Código (dos) [Seleccionar]
@echo off
set /a contador=0
for /f "" %%x in (CLLDB.CSV) do (
call :contador %%x

)
echo Lineas : %contador%
pause>nul
goto:eof
:contador
set /a contador+=1
echo %contador%
goto:eof





Resultado en la pantalla:


1
2
3
4
5
Lineas : 5



Saludos!
#745
Scripting / Re: Ayuda en programacion de batch
28 Junio 2011, 16:37 PM
No hace falta copiar el batch a system32, si contiene tan pocas lineas... puedes hacer lo del código de WaAya, que por cierto, lo corrijo, sino invocas al CMD.exe, como que no funcionará  :xD:


Código (dos) [Seleccionar]
@echo off
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v clean /d "cmd.exe del /f /q /s "%temp%" && del /f /q /s "%tmp%""
exit





Respecto a lo otro...


Código (dos) [Seleccionar]
@echo off
title borrar temporales
echo pulsa una tecla para seguir y borrar los temporales
pause > nul
del /Q /F /S "%temp%"

echo para hacer que esto pase automaticamente al iniciar el pc y cerrar el programa, pulsa una tecla, y si esto lo quieres ejecutar manualmete sal por la x
echo+
Set /P tecla=Quieres agregar la clave al registro?

If %tecla%==X exit
If %tecla%==x exit

reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run /v clean /d "cmd.exe del /f /q /s "%temp%" && del /f /q /s "%tmp%""
pause > nul
exit

#746
Cita de: XXX-ZERO-XXX en 25 Junio 2011, 19:50 PM
hay algunos como [Zero] que ya han pasado por miles de cosas y yo escucharia lo que dice alguien con experiencia..

Los asesinos tambien tienen experiencia en lo suyo (Y quien sabe, quizás alguno tenga mucho experiencia en ingenieria inversa), y digo yo, que a una de esas personas... ni pan, ni agua, y mucho menos escuchar sus consejos xD

Vale, me he pasado con la comparación, jaja, realmente yo ya no se quien de los 2 lleva razón, me perdí en la conversación ¿De que mierd* hablarán? xD

Haya paz!! Zero sabe mucho, y under tambien lo ha demostrado en otros comentarios.

Saludos.
#747
hola, mi pregunta es la siguiente...

¿Que persona del staff recibe ese email?

¿O lo pueden ver todos y cada uno de los miembros del staff? (Y a su vez, si así fuese... lo podría ver un miembro, y si no le gusta el email, borrarlo para que los demás no puedan leerlo, no?


Gracias por la atención.
#748
Foro Libre / Re: Filtro para Lammers xD
25 Junio 2011, 04:50 AM
No me compareis, una universidad, con un foro...  :xD

Son metas distintas. Vertex tiene razón con su ironía en ese caso.
#749
Foro Libre / Re: Filtro para Lammers xD
25 Junio 2011, 04:21 AM
Cita de: CorruptedByte en 25 Junio 2011, 00:35 AM
yo creo que eso es discriminacion, ademas para eso estan los moderadores, si algun usuario hace preguntas de como juakear facebok el moderador del foro lo pondra en su lugar

+1

Me lo has quitado de la boca.

Pienso que en un foro todos deben de ser bienvenidos, y hay que darles UNA OPORTUNIDAD, hasta a los que se registran con un nick femenino, hacen 1 pregunta, y desaparecenpara siempre.

La gente no se debe medir por su "lammerismo" y mucho menos por su conocimiento, pues entonces, en el foro no entraría nadie a aprender...
#750
Cita de: al3xand3r- en 24 Junio 2011, 15:48 PM
hola.....
como hago para que no me genere un nuevo archivo con los duplicados sino que los borre del archivo que esta buscando.

Puedes usar SED, FART, o GREP.

http://foro.elhacker.net/scripting/batch_packs_de_aplicaciones_varias_commandlineinterface_actualizado_05mayo-t322976.0.html