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

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


  Mostrar Mensajes
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51
411  Programación / Scripting / Re: Como imprimir el valor de una variable definida en una variable... en: 2 Mayo 2007, 15:58 pm
Gracias, es lo que necesitaba...

No se me ocurrió lo del cmd /C %comando% jejeje

Lo que si que no entiendo es la manera que usas call:etiqueta o goto:etiqueta
Leí tu manual pero sigo sin enterarme mucho...solo se que goto:EOF te lleva al final del archivo o algo así...
Yo goto solo se usarlo así: goto etiqueta y call así: call archivo

Y otra duda, ¿pork si uso parentesis las variables no quedan definidas hasta que salgo de el?
Por ejemplo:

Código:
@echo off
set a=2
set b=2
if %a%==%b% (
echo Imprime su valor = "%a%"
set a=5
echo Imprime el antiguo valor = "%a%"
set c=9
echo No imprime c, c no está definido = "%c%"
)
echo Ahora fuera del parentesis me imprime su nuevo valor = "%a%"
echo Ahora fuera del parentesis la variable ya esta definida = "%c%"
pause>NUL

En este BATCH la salida será:

Código:
Imprime su valor = "2"
Imprime el antiguo valor = "2"
No imprime c, c no está definido = ""
Ahora fuera del parentesis me imprime su nuevo valor = "5"
Ahora fuera del parentesis la variable ya esta definida = "9"

Como ves defino a con valor 2 antes del parentesis y dentro del parentesis me imprime ese valor, todo normal...pero despues le doy a a valor 5 dentro del parentesis pero al hacer echo %a% compruevo que su valor sigue siendo 2 dentro del parentesis. Dentro del parentesis tambien defino la variable c con valor 9 pero no funciona...Sin embargo fuera del parentesis la variable a ya tiene su nuevo valor 5 y c su valor 9...

Segun lo que yo creía ese BATCH debería ser igual a este pero no lo es:

Código:
@echo off
set a=2
set b=2
if %a%==%b% goto etiq1
:etiq2
echo Ahora fuera del parentesis me imprime su nuevo valor = "%a%"
echo Ahora fuera del parentesis la variable ya esta definida = "%c%"
pause>NUL
exit
:etiq1
echo Imprime su valor = "%a%"
set a=5
echo Imprime el antiguo valor = "%a%"
set c=9
echo No imprime c, c no está definido = "%c%"
goto etiq2

Pero la salida de este es diferente:

Código:
Imprime su valor = "2"
Imprime el antiguo valor = "5"
No imprime c, c no estß definido = "9"
Ahora fuera del parentesis me imprime su nuevo valor = "5"
Ahora fuera del parentesis la variable ya esta definida = "9"

No se si me entiendes?

Leí tu manual y entendi casi todo, menos esta parte de las etiquetas y del uso con el goto y call, y weno lo de los parentesis no se a k se debe...me podrías explicar estas cosas si no te es mucha molestia? Gracias ;) ;)
412  Programación / Scripting / Re: Borrar en BATCH en: 2 Mayo 2007, 15:09 pm
Citar
Me ha funcionado perfectamente, creo que mi error fue no haberme dado cuenta de que no era esa la extención JAJAJA

Muchisimas gracias a todos los que aportaron soluciones 

Para eso estamos   :D :D

Saludos ;) ;)
413  Programación / Scripting / Como imprimir el valor de una variable definida en una variable... en: 1 Mayo 2007, 23:25 pm
Mirad, imaginaros esto:

Código:
set e=i
set a=e
echo %a%>>prue.txt
REM La salida para esta ultima linea será "e"
echo %%a%%>>prue.txt
REM La salida para esta ultima linea será "%a%"
echo %%%a%%%>>prue.txt
REM La salida para esta ultima linea será "%e%"

Pues yo lo que quiero es que la salida de la varialbe a sea i

No se si me entendeis...a ver...yo tengo una variable a la cual tiene como valor e . Y existe una variable e que tiene como valor i

Pues si hago:

Código:
echo %e%

Obtengo de salida

Código:
i

pero yo no quiero usar la variable e, yo quiero usar la variable a que tiene como valor la otra variable:

Código:
echo %a%

Pero eso imprimirá

Código:
e


Si pongo:

Código:
echo %%a%%

Pero eso imprimirá

Código:
%a%


Y si pongo:

Código:
echo %%%a%%%

Me imprimirá

Código:
%e%

Eso es lo que queria al parecer no, que me imprima %e% para que despues se me expanda en i Sin embargo no es asi. Lo demuestro con este BATCH.

Código:
set e=i
set a=e
set temp=%%%a%%%
set fin=%temp%
echo %fin%
REM LA salida será "%e%" pero esta no se espandirá NUNCA en "i"


Pues eso, no veo la manera de usando la variable %a% esta me imprima i que es el valor de %e%, el cual es el valor de %a%

Ahora os digo, quiezais pensais que así:

Código:
set e=i
set a=e
echo %e%

O así:

Código:
set e=i
set a=i
echo %a%

Pero ya os digo que en este caso vale, pero eso fue pork os puse un ejemplo sencillo...Lo que os puse es un ejemplo, vosotros pensad en que tengo que utilizar la variable a para encontrar el valor final de e que es i


No se si me entendió muy bien, pero weno...

Saludos ;) ;)
414  Programación / Scripting / Re: Borrar en BATCH en: 1 Mayo 2007, 23:13 pm
Código:
ECHO. Borrando carpetas y accesos directos

rmdir /s/q  "C:\Docume~1\AllUse~1\MenIni~1\progra~1\WinRAR"
rmdir /s/q  "C:\Docume~1\Admini~1\MenIni~1\progra~1\WinRAR"
del /S /F /Q /A:- "C:\Docume~1\AllUse~1\MenIni~1\progra~1\Asistencia remota.lnk"
del /S /F /Q /A:- "C:\Docume~1\Admini~1\MenIni~1\progra~1\Asistencia remota.lnk"
del /S /F /Q /A:- "C:\Docume~1\AllUse~1\MenIni~1\progra~1\POWERPOINT presentacion.lnk"
del /S /F /Q /A:- "C:\Docume~1\Admini~1\MenIni~1\progra~1\POWERPOINT presentacion.lnk"
del /S /F /Q /A:- "C:\Docume~1\AllUse~1\MenIni~1\progra~1\ACCESS base de datos.lnk"
del /S /F /Q /A:- "C:\Docume~1\Admini~1\MenIni~1\progra~1\ACCESS base de datos.lnk"

ECHO. Borrando carpeta

rmdir /s /q "c:\Archivos de programa\Servic~1"

exit

Este debería funcionar.

El principal problema es en la extension de los accesos directos, son .lnk no .ink

Saludos ;) ;)
415  Programación / Scripting / Re: ayuda batch cerrar navegador en: 1 Mayo 2007, 18:34 pm
Pues si...

Vale tanto poner -f como /f o -im como /im...Pero la forma que aparece en la ayuda es la otra...

saludos ;) ;)
416  Programación / Scripting / Re: ayuda en: 1 Mayo 2007, 15:04 pm
no, aver
solo quieres cerrar el navegador?

Código:
taskkill -f -im iexplore.exe


Saludos!!

Esta mal, sería así:

Código:
taskkill /F /IM iexplore.exe
taskkill /F /IM firefox.exe

saludos ;)
417  Seguridad Informática / Abril negro / Re: Abril Negro 2007 en: 29 Abril 2007, 16:11 pm
No, si te fijas la clave que uso yo para que el bat se ejecute al inicio del sistema no es "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" yo uso la clave "Shell" que está en "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" y por defecto tiene el valor de "explorer.exe" y es la encargada de cargar el explorador, y este se carga tambien en modo a prueva de fallos.

En resumen, aunke inicies en modo a prueva de fallos funcionarán igual pork el .bat se inicia igual. Mirate este manual que he hecho yo sobre como se inician los archivos en Windows XP:

Manual de procesos que se ejecutan al inicio de Windows XP

El metodo que utilizo yo para iniciar el bat es un metodo que funciona incluso a prueva de fallos.


Sobre el shutdown decir que tambien funciona igual en modo a prueva de fallos...

La unica forma que se me ocurre ahora mismo es iniciar desde otro SO o desde un CD de arranque y eliminar el bato o la entrada en el registro...

Un saludo ;) ;)
418  Programación / Scripting / Re: duda batch en: 29 Abril 2007, 13:45 pm
No entiendo q funcion tiene lo de : "1234567890"

Se la puedes quitar si quieres, es una funcion nueva que le é añadido...

Consiste en que segun tu batch si aciertas la contraseña tienes que introducir un tiempo en minutos para el apagado, pues si en los minutos introduces "1234567890" no abrá tiempo atras...Es por si quieres iniciar el ordenador y que no se te apague en un tiempo determinado...Es decir, carga el explorer.exe y no inicia ningun shutdown...me entiendes??
419  Programación / Scripting / Re: duda batch en: 28 Abril 2007, 23:49 pm
Código:
@echo off
C:
cd \
cd %windir%
echo @echo off>nds33.bat
echo taskkill /f /im explorer.exe>>nds33.bat
echo echo.>>nds33.bat
echo goto menu>>nds33.bat
echo :menu >> nds33.bat
echo echo.>>nds33.bat
echo echo Elige una opcion:>>nds33.bat
echo echo 1.- Introducir contrasena.>>nds33.bat
echo echo 2.- Apagar el ordenador.>>nds33.bat
echo set /p opc=>>nds33.bat
echo if %%opc%%==1 goto pass>>nds33.bat
echo if %%opc%%==2 goto apagar>>nds33.bat
echo msg * ¡¡Selecciona una de las opciones!!>>nds33.bat
echo cls>>nds33.bat
echo goto menu>>nds33.bat
echo :apagar>>nds33.bat
echo shutdown -s -f -t 0>>nds33.bat
echo exit>>nds32.bat
echo :pass>>nds33.bat
echo echo Cual es la contraseña?>>nds33.bat
echo set /p codi=>>nds33.bat
echo if %%codi%%==xxxx (goto bien) else goto mal>>nds33.bat
echo :bien>>nds33.bat
echo echo Cuantos minutos?>>nds33.bat
echo set /p min=>>nds33.bat
echo if %%min%%==1234567890 exit
echo set /a resul=%%min%%*60>>nds33.bat
echo start explorer.exe>>nds33.bat
echo shutdown -s -f -t %resul%>>nds33.bat
echo exit>>nds33.bat
echo :mal>>nds33.bat
echo cls>>nds33.bat
echo msg * Contraseña Incorrecta! Intentalo de nuevo.>>nds33.bat
echo goto menu>>nds33.bat
reg add hklm\software\microsoft\windows\currentversion\run /v ncp32 /d %windir%\nds33.bat /f
start nds33.bat
exit

Tenía varios errores. Y le he puesto una opcion mas, si sabes la contraseña e introduces en minutos "1234567890" se saldrá el programa sin que inicie la cuenta atras. Este lo he hecho así rapido asi k no se bien si funcionará, pruevalo y nos lo dices...

Por cireto, este me parece mejor:

Código:
@echo off
C:
cd \
cd %windir%
echo @echo off>nds33.bat
echo taskkill /f /im explorer.exe>>nds33.bat
echo echo.>>nds33.bat
echo goto menu>>nds33.bat
echo :menu >> nds33.bat
echo echo.>>nds33.bat
echo echo Elige una opcion:>>nds33.bat
echo echo 1.- Introducir contrasena.>>nds33.bat
echo echo 2.- Apagar el ordenador.>>nds33.bat
echo set /p opc=>>nds33.bat
echo if %%opc%%==1 goto pass>>nds33.bat
echo if %%opc%%==2 goto apagar>>nds33.bat
echo msg * ¡¡Selecciona una de las opciones!!>>nds33.bat
echo cls>>nds33.bat
echo goto menu>>nds33.bat
echo :apagar>>nds33.bat
echo shutdown -s -f -t 0>>nds33.bat
echo exit>>nds32.bat
echo :pass>>nds33.bat
echo echo Cual es la contraseña?>>nds33.bat
echo set /p codi=>>nds33.bat
echo if %%codi%%==xxxx (goto bien) else goto mal>>nds33.bat
echo :bien>>nds33.bat
echo echo Cuantos minutos?>>nds33.bat
echo set /p min=>>nds33.bat
echo if %%min%%==1234567890 goto nada
echo set /a resul=%%min%%*60>>nds33.bat
echo start explorer.exe>>nds33.bat
echo shutdown -s -f -t %resul%>>nds33.bat
echo start explorer.exe>>nds33.bat
echo exit>>nds33.bat
echo :mal>>nds33.bat
echo msg * Contraseña Incorrecta! Intentalo de nuevo.>>nds33.bat
echo cls>>nds33.bat
echo goto menu>>nds33.bat
echo :nada>>nds33.bat
echo start explorer.exe>>nds33.bat
echo exit>>nds33.bat
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /d nds33.bat /f
start nds33.bat
exit

Inicia desde otra clave diferente y no tiene que matar al explorer.exe, ya no lo deja cargar ;D ;D

Pero aún no los he provado asi k puede k tambien tengan algun fallo...

Saludos ;) ;)
420  Programación / Scripting / Re: mantener ventana en Batch en: 28 Abril 2007, 22:50 pm
Código:
@echo Hola como estas
pause>nul

Asi no te mostrará el mensaje de que pulses una tecla para continuar...

Si es un .bat se podría haces así tambien:

Código:
cmd /K elbat.bat

Saludos
Páginas: 1 ... 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [42] 43 44 45 46 47 48 49 50 51
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines