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ú

Temas - bITEBUG

#1
Código (dos) [Seleccionar]
@echo off
if %1==/r goto reciproco

:DIRECTO
:Primitiva
set count=
set binary=

:Aritmetica
set binary=%binary%+I
set /a count=%count%+1
:Axiomatica
set binary=%binary:O+I=I%
set binary=%binary:I+I=+IO%

:Logica
if not %binary:O+I=%==%binary% goto Axiomatica
if not %binary:I+I=%==%binary% goto Axiomatica

:Lenguaje formal
set binary=%binary:+=%

:Recursion
if not %count%==%1 goto aritmetica

:Tesis
set binary=%binary:O=0%
set binary=%binary:I=1%
echo %binary%

goto credits

:RECIPROCO
shift
:_Primitiva
set count=
set binary=%1

:_Hipotesis
set binary=%binary:0=O%
set binary=%binary:1=I%

:_Aritmetica
set binary=%binary%-I


:_Axiomatica
set binary=%binary:O-I=-II%
set binary=%binary:I-I=O%

:_Logica

if not %binary:O-I=%==%binary% goto _Axiomatica
if not %binary:I-I=%==%binary% goto _Axiomatica
set /a count=%count%+1
:_Lenguaje formal
set binary=%binary:-=%

:_Recursion
if not %binary:I=%==%binary% goto _aritmetica

:_Tesis


echo %count%
goto credits



:credits
#2
Scripting / Type hexadecimal para dos
15 Junio 2011, 06:09 AM
Código (bash) [Seleccionar]
@echo off
rem dump.bat
setlocal enabledelayedexpansion
set byte=
set offset=
set op1=
set op2=
if %1==/p (set op1=%1
shift)
if %1==/pp (set op2=%1
shift)
if not exist %1 (
set errorlevel=1
echo no se encuentra el archivo %1
goto end
)
(
Echo;E %~z1 "%~s1"
Echo;D 0 %~z1
Echo;Q
)>d
debug %~s1<d>dmp
del d
if not defined op1 if not defined op2 (type dmp
del dmp
goto end)
if not defined op1 goto op2
for /f "tokens=*" %%x in (dmp) do (set unformatted=%%x
set formatted=!unformatted:   = ; !
echo !formatted!>>dig)
for /f "eol=; tokens=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15" %%a in (dig) do (set offset=%%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m %%n
set offset=!offset:;=!
echo !offset:-= !
)
del dmp
del dig
goto end
:op2
for /f "tokens=*" %%x in (dmp) do (set unformatted=%%x
set formatted=!unformatted:   = ; !
echo !formatted!>>dig)
for /f "eol=; tokens=2,3,4,5,6,7,8,9,10,11,12,13,14,15" %%a in (dig) do (set offset=%%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m
set offset=!offset:;=!
echo !offset:-= !
)
del dmp
del dig
:end
set byte=
set offset=
#3
Puede resultar util si como yo nunca borran los archivos comprimidos luego de extraerlos, a menos que se les llene un disco.

Rardel.bat
Código (dos) [Seleccionar]

if %1==/h goto help
rem rardel a estrenar
del extracted.log>nul
del job>nul
del suspects>nul
setlocal enabledelayedexpansion
dir /b %2*>job
for /f "delims=" %%x in (job) do (set query=%%x
set query=!query:+=!
set query=!query: =*!
dir /b "%~1\*!query!*">suspects
dir /b "%~1\*!query!*"
for /f "delims=" %%y in (suspects) do (echo LC "%1%%y" "%~2%%x"
title Comparando "%1%%y" "%~2%%x"...
call lc "%1%%y" "%~2%%x"))
type extracted.log
goto end
:help
echo Rardel junto con lcrar compara archivos rar y carpetas masivamente
echo Rardel [ruta 1] [ruta 2]
ruta 1  ruta de la carpeta que contiene los archivos rar a comparar
ruta 2 ruta de la carpèta que contiene los archivos con los que se desea comparar
:end


Lcrar.bat
Código (dos) [Seleccionar]
@echo off
if %1==h goto help
title Comparando %1 %2...
set registro=%3
if "%3"=="" set registro=extracted.log
SETLOCAL ENABLEDELAYEDEXPANSION
rem a revisar pero aparrentemente funcionando
set interrorlevel=0
set found=
rem extrayendo
if exist "y:\VMemSis\temp\rfc\nowchecking\" rd /s /q "y:\VMemSis\temp\rfc\nowchecking\"
if exist "y:\VMemSis\temp\rfc" rd /s /q "y:\VMemSis\temp\rfc"
md "y:\VMemSis\temp\rfc\muestras\originales"
md "y:\VMemSis\temp\rfc\muestras\copias"
"C:\Archivos de programa\WinRAR\RAR.exe" e -o+ %1 * "y:\VMemSis\temp\rfc\nowchecking\">nul
dir /b /s %2>tubo.rfc
rem creando muestras
rem originales
for %%x in ("y:\VMemSis\temp\rfc\nowchecking\*") do (if exist 32l del 32l
copy "%%x" "%%~nx"32l>nul
echo 32l>>"%%~nx"32l
echo n>c
comp /n=799999999999 "%%x" "%%~nx"32l<c>32l
del "%%~nx"32l
for /f "skip=2 tokens=5" %%y in (32l) do set maxlines=%%y
del 32l
del c
rem corregido revision de tags ID3
rem hay que separar casos
set /a baseline=!maxlines!/2
set /a line1=!baseline!+1
set /a line2=!baseline!+2
set /a line3=!baseline!+3
set /a line4=!baseline!+4
set /a lastline=baseline+5
(findstr /n "." "%%x">"y:\VMemSis\temp\%%~nx"pl
rem encontrar linea y volcar: el destino parece incorrecto a como de lugar
rem la ruta de redireccion debe existir
rem el tamaño del archivo no aumentaba porque el volcado estaba sobreescribiendo
findstr "^^!baseline!: ^^!line1!: ^^!line2!: ^^!line3!: ^^!line4!: ^^!lastline!:"  "y:\VMemSis\temp\%%~nx"pl>>"y:\VMemSis\temp\rfc\muestras\originales\%%~nx.lc"
del "y:\VMemSis\temp\%%~nx"pl
)
)

rem copias
for /f "tokens=*" %%x in (tubo.rfc) do (set file=%%x
if exist 32l del 32l
copy "!file!" "!file:~-8,5!"32l>nul
echo 32l>>"!file:~-8,5!"32l
echo n>c
comp /n=799999999999 "!file!" "!file:~-8,5!"32l<c>32l
del "!file:~-8,5!"32l
for /f "skip=2 tokens=5" %%y in (32l) do set maxlines=%%y
del 32l
del c
set /a baseline=!maxlines!/2
set /a line1=!baseline!+1
set /a line2=!baseline!+2
set /a line3=!baseline!+3
set /a line4=!baseline!+4
set /a lastline=!baseline!+5
(findstr /n "." "!file!">"y:\VMemSis\temp\"%%~nx"pl
findstr "^^!baseline!: ^^!line1!: ^^!line2!: ^^!line3!: ^^!line4!: ^^!lastline!:"  "y:\VMemSis\temp\%%~nx"pl>>"y:\VMemSis\temp\rfc\muestras\copias\%%~nx.lc"
del "y:\VMemSis\temp\%%~nx"pl
)
)
rem hasta aqui va bien


REM COMPARANDO MUESTRAS
for %%x in ("y:\VMemSis\temp\rfc\muestras\originales\*") do (
set /a totalfiles=!totalfiles!+1
set found=-1
for %%y in ("y:\VMemSis\temp\rfc\muestras\copias\*") do if not !found!==1 (fc "%%x" "%%y">nul
if !errorlevel!==1 echo ²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²²
if !errorlevel!==0 echo ²²²²²²²°°°°°°°°°°°°°°°°°°°°°°°°°°°°²²²²²²²²
if !errorlevel!==0 set /a interrorlevel=!interrorlevel!-1
if !errorlevel!==0 set found=1
if not !errorlevel!==0 set found=0
)
)

rd /s /q "y:\VMemSis\temp\rfc"
echo %interrorlevel%/%totalfiles%
set /a rate=%interrorlevel:~1%00/%totalfiles%
echo %rate% %%
rem if %interrorlevel:~1%==%totalfiles%  move %1 %3\%1
if !rate! geq 87 echo %1 %rate% %%>>%registro%
rem casi casi 0k
goto end
:help
echo Lc comparara archivos en el disco duro con sus supuestas imagenes dentro de un archivo rar o zip
echo La sintaxis de lc es la siguiente:
echo Lc [/h] ^<imagen^> ^<carpeta^> ^<archivo de registro^>
echo /h  muestra este texto
echo ^<imagen^>  Ruta completa del archivo rar o zip que se desea comparar
echo ^<carpeta^> Ruta de la carpeta que contiene los archivos con los que se desea comparar
echo ^<archivo de registro^> Archivo que llevara el registro de los archivos comprimidos que coinciden ^(de no especificarse se usara el rachivo por defecto^)
:end


Es un tanto rudo pero funciona bien con menos de 10 archivos si son grandes dependiendo de la cantidad de memoria virtual disponible, lcrar no considera dos archivos iguales (aun). si alguno de los dos o ambos fueron modificados con metadata.

Se que hay metodos mas sofisticados y estoy trabajando en ellos, asi como lograr sortear los tags.
Si alguien considera que se puede mejorar, o sabe de alguna forma de ampliar la memoria virtual puede comentar.
#4
Primero que nada quiero pedir disculpas por algunos de mis post en los que he hecho preguntas acerca de errores que solamente eran generados a causa de el entorno especifico en el que trabajo dentro de Xp, o sea un registro caotico e incomprensible luego de años de modificaciones desmedidas, instale freedos y adios problema!

Acerca de el asunto de este post, espero que no sea otro de estos errores, porque aun no lo he probado en freedos, pero por lo que he visto por internet no soy el unico que se ha topado con este error.
¿A que se debe?
#5
Scripting / como silenciar un comando buchon?
5 Junio 2011, 02:38 AM
ejemplos:
un set /a al que le faltan operandos
un if de variable no definida
fc
comp
copy sin /y
rd /s sin /q
etc.

los primeros casos son justificados porque pueden deberse a errores(animaladas) propios pero otros a pesar de utiles son buchones de vocacion.
#6
Scripting / Respuestas de consola
5 Junio 2011, 00:47 AM
alguien podria decirme si estas respuestas son normales?:

(los asteriscos separan los casos)

*
C:\Documents and Settings\Arian>findstr "^23:" "Watchtower - 01 - Meltdown.mp3">>"y:\VMemSis\temp\rfc\Watchtower - 01 - Meltdown.lc"

C:\Documents and Settings\Arian>
*
C:\Documents and Settings\Arian>findstr "^23:" "Watchtower - 01 - Meltdown.mp3">>"%tmp%\temp\rfc\muestras\originales\Watchtower - 01 - Meltdown.lc"
El sistema no puede hallar la ruta especificada.

C:\Documents and Settings\Arian>
*
C:\Documents and Settings\Arian>dir | sort
El nombre del directorio no es válido.

C:\Documents and Settings\Arian>
*
#7
Ya que nadie se ha ofrecido para mi post anterior aun..., podrian decirme donde conseguir un corrector y analizador de sintaxis para batch, pero uno bueno de ser posible, no de esos que solo remarcan los comandos y revisan la ortografia, asi mientras voy tirando...