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 - Segadorfelix

#21
Hay demasiados 'saltos' en tu segundo código. Sirve. Pero podría haberse simplificado muchísimo.

Use solo un salto, goto a, y varios condicionales. El codigo que colocaste tiene 188, y  lineas y este tiene 47.

Ambos hacen lo mismo, la diferencia es el codigo:
*Este usa condicionales para ahorrar saltos (por ejemplo los :revalue, todos eran iguales, no había necesidad de repetirlos)
*El texto base no cambia, usando una asignación particular de variables, que evitan este problema(el que set /a variable=09 por ejemplo tire error). Sin saltos adicionales.

Código (dos) [Seleccionar]

@echo off
cls
title Crono (T_T)
color 0a
mode con cols=31 lines=10

set/a s=0
set/a m=0
set/a h=0

echo Pulsa Cualquier
echo Tecla Para Iniciar
echo El Cronometro.
echo.
echo Para Pausarlo
echo Simplemente Utiliza
echo (CTRL+C)
echo.
pause>nul

mode con cols=31 lines=5

:a
if %s%==60 (
set /a s=0
set /a m+=1
)
if %s% LSS 10 (set a=:0) else (set a=:)
if %m%==60 (
set /a m=0
set /a h+=1
)
if %m% LSS 10 (set b=:0) else (set b=:)
if %h%==24 (
set /a h=0
)
if %h% LSS 10 (set "c= 0") else (set "c= ")

cls
echo.
echo °±²     Cronometro    ²±°
echo.
echo            %c%%h%%b%%m%%a%%s%
echo.
timeout/t 1 /nobreak>nul
set/a s+=1
goto a


Si añades este código al inicio, el cronometro se ejecutara en otra ventana al ser llamado por el cmd.

Código (dos) [Seleccionar]

@echo off
if "%1"=="12" goto c
start %~n0 12
exit /B
:c
cls


Recomiendo que leas el tuto de programación avanzada en batch https://foro.elhacker.net/scripting/programacion_batch_avanzada_nuevo-t132924.0.html
#22
Scripting / Re: Esteganografía EOF [BATCH]
9 Abril 2019, 02:11 AM
Aircrad,ya le di una ojeada al code.

Aunque no me es de mucha utilidad, ya que el trabajo como dices, lo hace un archivo externo.

Sé que intentar hacerlo en Batch es romperse la cabeza, y estoy viendo si aprendo a manejar Powershell y hacer algo, si no llego a nada.

Mi idea sería en principio leerlo con un FOR y transcribirlo en otro archivo. algo así como:
Código (dos) [Seleccionar]
type archivo.mp4>>archivo2.mp4
Así, de algun modo podría procesar el archivo y partirlo en cierto número de lineas.

O hallar un modo de "parar" la ejecución de type, y cambiar el archivo de guardado, pero esto ultimo, lo veo más imposible, que la primera idea.

O tomar un archivo y copiarlo de forma fragmentada.

La razón de hacerlo en batch, sería primero por la independencia de compilador o archivos adicionales, y un reto, ya que batch complica todo.
#23
Hola Mudered, creo que debería ser "set /a s=0", pero dado que son segundos, no creo que sea muy importante.

El código, es bueno. Es sencillo y cumple su función.

No entiendo lo de multiplicar.

supongo que sería:


set/a s+=1
echo %s%>segundos.txt


el '>' resetearía el archivo, por cada ciclo del bucle, introduciendo el valor de 's' hasta el corte.

PD1: En cuanto a como poner el código, arriba hay una opción que es un '#' esa permite colocar el código.

PD2: Dale un vistazo a mi cronometro, funciona distinto, pero alguna parte del código podría ayudar https://foro.elhacker.net/scripting/cronometro_batch-t494403.0.html
#24
Scripting / Esteganografía EOF [BATCH]
7 Abril 2019, 09:36 AM
Buen día!, tengo una duda. Estoy pensando en hacer un Script esteganografico con Batch. El cual pueda dividir un archivo en varios para poderlo repartir en varios archivos.

Algo así como arch.mp4, lo divido en 5 partes y lo reparto en 5 imágenes. El problema es que con Batch la lectura de archivos que no son ASCII, es un bardo.

Sé que Batch, no es el terreno adecuado para abordar este problema y que con, por ejemplo pyton, posiblemente sería más sencillo. Pero quisiera intentarlo.

Si alguien pudiera ayudarme con algo tan 'sencillo', como tomar un .mp4(por decir algo), y dividirlo en varios fragmentos en archivos de texto, para luego volverlo a armar y pueda reproducirse. Todo esto por bat, aunque sea una guía. Podría serme de gran utilidad.

Saludos!
#25
Scripting / Esteganografía NTFS ADS [BATCH]
7 Abril 2019, 09:18 AM
Hola!  :)
Comparto un Script que realice para ordenar la información de unos archivos en una carpeta de imágenes. El Script se debe ejecutar en la carpeta donde están las imágenes. Las edita, agregándoles metadatos, Info(Información), Ext(Extensión) y Plus(Adicional).

Los datos quedan ocultos en la imagen, aunque yo realice el Script, más para no tener un archivo "confuso" con los datos que requería, sino que la información estuviera en las imágenes. No por ocultar información, que también es una utilidad valida.

Permite, editar(aquellos archivos que no están en el archivo zegist.txt creado en las primeras ejecuciones, que guarda aquellos archivos ya editados) para agregar los metadatos mencionados. Y leer, los metadatos introducidos.

El Script podría optimizarse, para dar la opción de editar "uno a uno" o por linea de comandos. Pero me sirvió para trabajar con más de 100 imágenes, en las cuales debía introducir la información manualmente. Por eso estas dos opciones no están incluidas.

https://pastebin.com/7rAyN4fs

Las imágenes se explican mejor.

Imágenes de prueba en una carpeta arbitraria (z.bat es el Script):


Ejecutamos:


La clave anti-estupidez es para evitar editar algo por error, por defecto es 0000:


Se edita archivo por archivo, con las etiquetas ya explicadas(se pueden añadir o quitar más manualmente):

En la primera ejecución en la carpeta pedira metadatos de z.txt(archivo temporal, durante la ejecución del Script), z.bat y zegist.txt. Solo lo hara en la primera ejecución. Luego quedan guardados en zegist.txt para no tomarlos en cuenta en próximas ejecuciones.

Archivo de registro de ediciones zegist.txt


Contenido:


Leer:


Código (dos) [Seleccionar]

@echo off
rem Segadorfelix DEMIAN_ABRAXAS
title NTFS ADS IMAGEN
setlocal enabledelayedexpansion
set opc=0
echo Escoge:
echo.
echo 1-Leer
echo 2-Editar
echo.
set /P opc="Elección: "
echo.
If %opc%==1 goto leer
If %opc%==2 goto edit
goto salida

:edit
IF NOT exist zegist.txt (echo.>zegist.txt)
set clave=""
set /P clave="Inserte clave, anti-estupidez: "
IF not %clave%==0000 goto salida
dir /B>z.txt
for /F %%i IN (z.txt) DO (
set ner=0
for /F %%j IN (zegist.txt) DO (
IF %%i==%%j set ner=1
)
IF NOT !ner!==1 (
set var=""
set ver=""
set adi=""
echo Archivo: %%i
set /P var="Escriba lo que necesite c; => "
set /P ver="Extension(1-PNG)(2-JPG)(3-GIF)(4-XCF)(5-BAT)(6-TXT)(7-Carpet): "
set /P adi="Adicional ;) "
echo !var!>>%%i:Info
IF !ver!==1 echo PNG>>%%i:Ext
IF !ver!==2 echo JPG>>%%i:Ext
IF !ver!==3 echo GIF>>%%i:Ext
IF !ver!==4 echo XCF>>%%i:Ext
IF !ver!==5 echo BAT>>%%i:Ext
IF !ver!==6 echo TXT>>%%i:Ext
IF !ver!==7 echo CARPET>>%%i:Ext
echo !adi!>>%%i:Plus
echo.
echo Info:
more<%%i:Info
echo Extensión:
more<%%i:Ext
echo Adicional:
more<%%i:Plus
echo.
)
)

del zegist.txt
ren z.txt zegist.txt
pause
goto salida

:leer
echo ¿Que desea leer?
echo.
echo Formato: [Archivo][Sección]
echo.
echo Sección:(1-Información; 2-Extensión; 3-Adicional)
echo.
set /P ler="Escoja: "
set arch=""
for %%j in (!ler!) do (
if !arch!=="" set arch=%%j
set secc=%%j
)
echo.
if !secc!==1 set secc=Info
if !secc!==2 set secc=Ext
if !secc!==3 set secc=Plus
(type zegist.txt| find "%arch%")>z.txt
for /F %%k IN (z.txt) DO (set arch=%%k
)
del z.txt
more<!arch!:!secc!
echo.
set rpeat==0
set /P rpeat="Leer más?(1-Sí, [ENTER]-Salir)"
if !rpeat!==1 goto leer
echo.

:salida


Me sirvió bastante, espero que sea de utilidad!
#26
Scripting / Cronometro BATCH
7 Abril 2019, 08:00 AM
Hola a todos! ;D

Comparto un código sencillo, que realice para medir el tiempo que se realiza alguna actividad. No es un cronometro en el sentido estricto. Solo toma la hora inicial, la hora final y da el delta de tiempo, por medio cuentas. Además de guardarlo en un archivo, para mirar el progreso total, de dicha actividad. Y las fechas respectivas.

https://pastebin.com/Rn1S7vD0






Código (dos) [Seleccionar]

@echo off
Rem Segaforfelix, DEMIAN_ABRAXAS
title Cronometro
set Carpet="%USERPROFILE%\Desktop\Practica_I\Registro.txt"
IF NOT exist %Carpet% (
md %Carpet:~0,-14%"
echo REGISTRO:> %Carpet%
echo.>> %Carpet%
)

set /a nh=0
set /a nm=0
set /a nr=0
for /f "usebackq eol=H tokens=2" %%a in (%Carpet%) do (
set /a nh=%%a+nh
)
for /f "usebackq eol=H tokens=4" %%a in (%Carpet%) do (
set /a nm=%%a+nm
)
IF %nm% GEQ 60 (
set /a nr=1
)
IF "%nr%"=="1" (
set /a nh=nh+nm/60
set /a nm=nm%%60
)

echo Progreso Total: %nh% horas. %nm% minutos.
echo.
set /p a="Presione enter para iniciar el conteo...."
set a=%time%
set b=%date%
echo.
set /p c="Presione enter para finalizar el conteo...."
set c=%time%

IF "%a:~0,1%" EQU "0" (set /a hi=%a:~1,1%) ELSE (set /a hi=%a:~0,2%)
IF "%a:~3,1%" EQU "0" (set /a mi=%a:~4,1%) ELSE (set /a mi=%a:~3,2%)

IF "%c:~0,1%" EQU "0" (set /a hf=%c:~1,1%) ELSE (set /a hf=%c:~0,2%)
IF "%c:~3,1%" EQU "0" (set /a mf=%c:~4,1%) ELSE (set /a mf=%c:~3,2%)

set /a Resulm=mf-mi
set /a Resulh=hf-hi

IF %hi% GTR %hf% (
Set /a Resulh=24+Resulh
)

IF %mi% GTR %mf% (
Set /A Resulh=Resulh-1
Set /A Resulm=60+Resulm)

echo.
Echo La practica a durado:
Echo %Resulh% horas.
Echo %Resulm% minutos.
echo.

:save
set /p g="¿Desea guardarlo en el Registro?(s/n)"
echo.
IF "%g%"=="n" (exit) ELSE (
IF "%g%"=="s" (
echo %b%>>%Carpet%
echo Hora inicial: %a%>>%Carpet%
echo Hora final: %c%>>%Carpet%
echo Duración: %Resulh% horas. %Resulm% minutos.>>%Carpet%
echo.>> %Carpet%
) ELSE (goto save)
)


Espero, sea de ayuda a quien lo requiera!
#27
Scripting / Re: ayuda a simplificar bat
9 Octubre 2013, 21:56 PM
Hola binario010101.
Supongo, que te refieres a esto:


For %%r in (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO (
if exist %%r:\Hide\start.vbs (
SCHTASKS /create /SC "MINUTE" /MO "3" /tn "Copiar %%r" /TR "WScript.exe \" %%r\Hide\start.vbs\""))


SaluDos.
#28
Los acentos son simbolos ASCII, por lo que los interpreta con otro simbolo la consola.
Esto deberia funcionar.

SET DIR="C:\Documents and Settings\Administrador\Men£ Inicio\Programas\Inicio\"
echo @Echo off>>%DIR%
echo hola mundo>>%DIR%
echo pause>>%DIR%
echo exit>>%DIR%


Aqui un batch simple que muestra un poco como transformar simbolos ASCII a ANSI

https://foro.elhacker.net/scripting/batchaportemorftransforma_texto_unicode_a_ansi-t377748.0.html;msg1806886#msg1806886

Salu_dos.



#29
Es una buena decisión por parte de Mozilla, el usuario tiene el derecho de que información compartir.
#30
Cita de: engelx en 20 Febrero 2013, 03:34 AM
y la lógica no hace mal tampoco

sin() = seno
cos() = coseno

el resto deducelas por lógica o leyendo el link...

Muchas gracias engelx

Tema resuelto.