Escapar caracteres

Iniciado por duende_maldito, 22 Noviembre 2011, 15:43 PM

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

duende_maldito

Tengo una duda sobre los archivos por lotes

necesito escapar algun caracter y no se si hay una forma genérica de escaparles o que

algunso los he podido escapar con ^ y también he leido que con %, pero para poder escapar estos: ) = ¡
¿Cómo tendría que hacerlo?

Gracias de antemano!

Eleкtro

porque necesitas escapar esos caracteres? (para ejecutar un comando, para mostrar algo en pantalla...etc)

Eso no es tán simple para aclararlo así, depende de como sea el code, lo que pretendas hacer, y de la recursividad del code, cuanto más "niveles" te metas "adentro" más cosas serán necesarias hacer.

Si quieres pon un ejemplo del batch que te está creando dudas, y te podré ayudar con detalles más claros.

Saludos.








Eleкtro

#2
Te he echo este script, No funciona como debería y le faltan cosas, Pero puedes probarlo, es solo un ejemplo para que veas lo que neecsitas hacer más o menos...

Lo he dejado a la mitad porque es un comecocos este tema,No quiero pensar más, tardaría dias en hacerlo bien, y bien echo, yo prefiero usar diccionarios de palabras para el método BruteForce xD

Saludos... y Suerte.






Código (dos) [Seleccionar]
@echo off
Title Test
Mode con cols=110 lines=10



:Vars
:~~~~
set "Alphabet=abcdefghijklmn¤opqrstuvwxyzABCDEFGHIJKLMN¥OPQRSTUVWXYZ0123456789.,_+#?­¨^=^<^>^(^)^/^%%"
Set Characters=
Set Passtemp=
Set Password=z



:Loop
:~~~~
FOR /f "tokens=*" %%a in ('"echo %Alphabet%"') do (
Set Characters=%%a
call :Verify
Call :Count_character
)



:Verify
:~~~~~~
If "%Characters%" EQU "%PASSWORD%" (
echo el pass es "%Characters%"
pause >nul
) ELSE (
Goto :EOF
)


:Count_character
:~~~~~~~~~~~~~~~
Cls
Set "Alphabet=%Alphabet:~1%"
Call :Count_BruteForce
echo.
echo El alfabeto es:  "%alphabet%"
echo.
echo El caracter es:  "%Characters:~,1%"
echo.
echo El passtemp es:  %passtemp%
echo.
pause
Goto :LOOP



:Count_BruteForce
:~~~~~~~~~~~~~~~~

If not defined passtemp (Set passtemp="%Characters:~,1%") else (Set passtemp="a%Characters:~,1%")
Goto :EOF








duende_maldito

muchas gracias
voy a probar, puede que también me sirva

De todos modos probaré el script que te enseñé en linux ya que la forma de escapar caracteres debe ser diferente!