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 - carlitos.dll

#211
Cita de: lukhardy en 23 Mayo 2008, 23:04 PM
Y otra cosa que acabo de probar, no se si a ustedes le funcionará, pero me cuentan. Escribí esta linea:

reg add HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows /v Load /t reg_dword /d Ruta_de_archivo.extension /f

o

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
"load"=" Ruta_y_archivo.extension"


Esto hace que se ejecute un archivo al inicio de la sesión de la pc. Prueben ustedes y me cuentan, al menos lo probé yo y me funciona.

Saludos, y que bien que les sirva ;)


Funciona, eso si no acepta variables en la ruta:

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
"load"="C:\\Docume~1\\usuario\\Escritorio\\Cron.bat"
#212
Scripting / Re: Cronometro en BATCH
11 Junio 2008, 23:09 PM
¿Algun comentario para mi code? En mi máquina funciona perfectamente.
#213
Scripting / Re: Cronometro en BATCH
11 Junio 2008, 05:22 AM
Listo. Espero que sirva Dirpock.


::CarlitoS.dll
@echo off
color 70
set /a cont =0
pause
:time
set mirror1=%time:~-4%
set /a mirror1=%mirror1:~0,1%
:increment
set mirror2=%time:~-4%
set /a mirror2=%mirror2:~0,1%
if not %mirror2%==%mirror1% (goto cont)
goto increment
:cont
set /a cont +=1
cls
echo CRON: %cont%
goto time
::CarlitoS.dll

#214
Scripting / Re: Cronometro en BATCH
11 Junio 2008, 02:12 AM
... espera, se me está ocurriendo una forma de hacerlo, pido un poco de tiempo.

Nota: RockoX, está bueno el code, eso si, presionas por ejemplo un número mayor que 3, no lo valida.

#215
Scripting / Re: Batch - Operador AND?
18 Mayo 2008, 09:16 AM
Citar
if exist %windir%\ndstool.exe AND %windir%\ndstool\arm7.bin ( goto repair )
if NOT exist %windir%\ndstool.exe AND %windir%\ndstool\arm7.bin ( goto setup )


if exist "%windir%\ndstool.exe" (if exist "%windir%\ndstool\arm7.bin" (goto repair))
goto setup


::para que volver a evaluar la negación??, si la evaluación de la primera linea es verdadera, con el goto salta a otra etiqueta (y evita la de abajo). La instrucción (en caso falso, por lógica está en la linea de abajo). Lo escribi así porque en ambas evaluaciones son los mismo archivos.

::Probablemente te dirige a setup, porque la palabra AND no indica nada, entonces si le sacas el @echo off, probablemente verás que dice AND no se reconoce como un comando interno o externo...
También asegurate que después de cada goto saltes a otra linea, si lo necesitas, porque sino continuará hasta abajo.
#216
En el post de Libreria de Funciones, hay una llamada "Cambiar IP".
;)
#217
Scripting / Re: Validar variables de entorno
13 Mayo 2008, 08:30 AM
gracias RockoX, a lo que me refiero es a limpiar el contenido de una variable para que no contenga comandos:
En el ejemplo logré limpiarlo hasta cierto modo eliminando ciertos caracteres (despues del = y antes del % final no hay nada, por lo que se borra ese caracter) no todos, aunque peor es nada.

@echo off
:box
set /p nombre="Ingrese un nombre:"
set nombre=%nombre:>=%
set nombre=%nombre: =%
set nombre=%nombre:&=%
set nombre=%nombre:^=%
set nombre=%nombre:<=%

Aqui el orden de limpieza si importa, en este caso el caracter con mayor prioridad es el > para que no se pueda redireccionar, luego el espacio, etc. No es completamente optimo para mi gusto, porque no pude filtrar el or |

asi: si en la variable alguien ingresa codigo, se ejecuta.
ejemplo:
set /p nombre="Ingrese un nombre:"
e ingreso:
carlos & echo. | net user Admin *
o
carlos & echo. | format E: /Q

Primero se limpia el > no tiene
Despues el espacio, pero en windos no importan los espacios:
asi sigue quedando el mismo codigo, y cuando filtro el & se alcanza a ejecutar el codigo al leer, debido a que no se pudo filtrar el or |, si ese or hubiese sido & el comando habria perdido sentido.


No logre lo que esperaba, pero al fin y al cabo, algo es algo.
Gracias RockoX por responder.
#218
Scripting / Validar variables de entorno
13 Mayo 2008, 06:17 AM
Tengo la siguiente pregunta:
En batch para windows ¿cómo puedo validar las variables de entorno?

Ejemplo:

@echo off
:box
set /p nombre="Ingrese un nombre:"
echo Usted ingresó:
echo %nombre%
:verify
set resp=
set /p resp="¿Está bien?[s/n]":
if "resp"="s" (echo Muy bien & exit)
if "resp"="n" (goto box)
goto verify


Si cuando pide que ingrese un nombre, ingreso lo siguiente:
juan &echo loquesea >>C:\hola.txt

y al imprimir mediante echo la variable de entorno:
muestra por pantalla juan
y luego escribe loquesea en el archivo C:\hola.txt


Por ello, mi pregunta es: ¿como podriamos validar las variables de entorno?




#219
[MODIFICADO 5-septiembre-2008]

Mejoras:
-Corregí un pequeño error de la versión 4.5, que no permitía añadir urls que tuviesen el carácter "-"
-Ahora el mensaje de que no se tiene suficientes privilegios, se muestra solamente en el caso de que se detecte tal situación.

Código (dos) [Seleccionar]


::Lock Url 5.1
::by Carlos
::Accepts parameter by the name of a text file with a list of urls

@echo off
setlocal

set FILE=%SystemRoot%\system32\drivers\etc\hosts
set IP=0.0.0.0
set argfile=%~1
set findstr="%WinDir%\system32\findstr.exe"
set find="%WinDir%\system32\find.exe"

:start
call :logo
call :mode
exit

:lock
call :logo
set option=
echo Options:
echo - 1 Add url
echo - 2 Del url
echo - 3 Show urls
echo - 4 Exit
echo.
set /p option=Enter option:
if not defined option (goto lock)
if ["%option%"]==["1"] (goto add)
if ["%option%"]==["2"] (goto del)
if ["%option%"]==["3"] (goto show)
if ["%option%"]==["4"] (goto exit)
goto lock
set option | %find% """" >NUL 2>&1 && goto lock
set option | %find% " " >NUL 2>&1 && goto lock
set option | %findstr% "| & ^ > < # $ ' ` . ; , / \  + - ~ ! ) ( ] [ } { : ? *" >NUL 2>&1 && goto lock
echo %option% | find "=" >NUL 2>&1 && goto lock
if not [{carlitos.dll}]==[{%option%}] (echo off) 2>NUL
if "%errorlevel%"=="9009" (goto lock)
goto lock

:show
type "%FILE%" | %findstr% /b /v "#" | sort | more
pause
goto lock
goto:eof

:del
echo.
set delurl=
set /p delurl="Enter Url to del: "
if not defined delurl (goto del)
set delurl | %find% """" >NUL 2>&1 && goto del
set delurl | %find% " " >NUL 2>&1 && goto del
set delurl | %findstr% "| & ^ > < # $ ' ` ; , \  + ~ ! ) ( ] [ } { ? *" >NUL 2>&1 && goto del
echo %delurl% | find "=" >NUL 2>&1 && goto del
if not [{carlitos.dll}]==[{%delurl%}] (echo off) 2>NUL
if "%errorlevel%"=="9009" (goto del)
goto yesoryes

:yesoryes
echo.
echo You joined address to del: %delurl%
set confirm=
set /p confirm="Is that correct? [y/n/cancel]: "
if not defined confirm (goto yesoryes)
set confirm | %find% """" >NUL 2>&1 && goto yesoryes
set confirm | %find% " " >NUL 2>&1 && goto yesoryes
set confirm | %findstr% "| & ^ > < # $ ' ` . ; , / \  + - ~ ! ) ( ] [ } { : ? *" >NUL 2>&1 && goto yesoryes
echo %confirm% | find "=" >NUL 2>&1 && goto yesoryes
if not [{carlitos.dll}]==[{%confirm%}] (echo off) 2>NUL
if "%errorlevel%"=="9009" (goto yesoryes)
if /i "%confirm%"=="y" (goto find)
if /i "%confirm%"=="n" (goto del)
if /i "%confirm%"=="cancel" (goto lock)
goto yesoryes

:find
type "%FILE%" | %findstr% /i "%delurl%$" >nul && (
cd.>"%FILE%.bak" ||goto message
type "%FILE%" | %findstr% /i /v "%delurl%$">"%FILE%.bak"
del/f/q/a "%FILE%" >nul ||goto message
ren "%FILE%.bak" "hosts" >nul ||goto message
echo The url has been deleted.
) || (echo The url not found.)
pause
goto lock

:add
echo.
set url=
set /p url="Enter Url to add: "
if not defined url (goto add)
set url | %find% """" >NUL 2>&1 && goto add
set url | %find% " " >NUL 2>&1 && goto add
set url | %findstr% "| & ^ > < # $ ' ` ; , \  + ~ ! ) ( ] [ } { ? *" >NUL 2>&1 && goto add
echo %url% | find "=" >NUL 2>&1 && goto add
if not [{carlitos.dll}]==[{%url%}] (echo off) 2>NUL
if "%errorlevel%"=="9009" (goto add)
goto yesorno

:yesorno
echo.
echo You joined address to add: %url%
set confirm=
set /p confirm="Is that correct? [y/n/cancel]: "
if not defined confirm (goto yesorno)
set confirm | %find% """" >NUL 2>&1 && goto yesorno
set confirm | %find% " " >NUL 2>&1 && goto yesorno
set confirm | %findstr% "| & ^ > < # $ ' ` . ; , / \  + - ~ ! ) ( ] [ } { : ? *" >NUL 2>&1 && goto yesorno
echo %confirm% | find "=" >NUL 2>&1 && goto yesorno
if not [{carlitos.dll}]==[{%confirm%}] (echo off) 2>NUL
if "%errorlevel%"=="9009" (goto yesorno)
if /i "%confirm%"=="y" (goto verify_0)
if /i "%confirm%"=="n" (goto add)
if /i "%confirm%"=="cancel" (goto lock)
goto yesorno

:attrib
if not exist "%FILE%" (echo.>>"%FILE%"||goto message)
attrib -r -h -s "%FILE%">NUL||goto message)
goto:eof

:mode
if defined argfile (if exist "%argfile%" (goto argmode))
goto lock
goto:eof

:argmode
for /f %%a in ('type "%argfile%"') do (set url=%%a&call:verify_1&set url=)
goto exit

:verify_0
if /i "%url:~0,4%"=="www." (goto with0)
goto without0

:verify_1
set url | %find% """" >NUL 2>&1 && goto:eof
set url | %find% " " >NUL 2>&1 && goto:eof
set url | %findstr% "| & ^ > < # $ ' ` ; , \  + ~ ! ) ( ] [ } { ? *" >NUL 2>&1 && goto:eof
echo %url% | find "=" >NUL 2>&1 && goto:eof
if not [{carlitos.dll}]==[{%url%}] (echo off) 2>NUL
if "%errorlevel%"=="9009" (goto:eof)
if /i "%url:~0,4%"=="www." (goto with1)
goto without1

goto:eof

:with0
call :with1
goto again

:without0
call :without1
goto again

:with1
call :attrib
echo %IP%    %url:~4%>>"%FILE%"||goto message
echo %IP%    www.%url:~4%>>"%FILE%"||goto message
echo The url has been added.
goto:eof

:without1
call :attrib
echo %IP%    %url%>>"%FILE%"||goto message
echo %IP%    www.%url%>>"%FILE%"||goto message
echo The url has been added.
goto:eof

:again
echo.
set again=
set /p again="Add other url? [y/n]"
if /i "%again%"=="y" (goto add)
if /i "%again%"=="n" (goto lock)
goto again

:logo
cls
echo \--------------------/
echo \ LockUrl v5.1       /
echo \ by Carlos          /
echo \--------------------/
echo.
call:attrib
goto:eof

:message
echo You do not have sufficient privileges.
pause
goto exit

:exit
endlocal
exit

::Lock Url 5.1
::by Carlos
#220
Bueno no soy dios, pero he descubierto por fuerza bruta que acepta 52 passwords. Encuentro muy interesante esto.