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

á

 


Tema destacado: GuÝa rßpida para descarga de herramientas gratuitas de seguridad y desinfecciˇn


  Mostrar Mensajes
Páginas: 1 [2] 3
11  Programaciˇn / Scripting / Re: el signo = en: 28 Septiembre 2017, 09:43 am
Madre mÝa, ya hay donde leer muchÝsimas gracias primero por tu extensiˇn en el anßlisis, segundo por tus sabios consejos y tercero por la voluntad de ayuda y tu tiempo.

Comentar que el texto a tratar siempre va ser de 5 ˇ 6 lineas por lo que se acota bastante el posible error no obstante probarÚ a modificar el cˇdigo para incluir el tuyo nuevo como indicas y para aprender alguna cosa mas.

Gracias a los dos, Elektro y **Aincrad**.  ;-)
12  Programaciˇn / Scripting / Re: No cierra cmd con edlin en: 28 Septiembre 2017, 08:33 am
Yo tengo win 10 en dos pc┤s distintos y en lo dos se queda agarrado al final sin cerrar la ventana, tendrÚ que asumir que es problema de win10.
┐Conoces alguna otra manera de tomar los datos evitando el comando edlin?

En ese cˇdigo edlin mueve la tercera y cuarta linea a la primera en dos archivos .txt distintos, si hubiese otra manera de hacerlo evitarÝa el error en el cierre; porque como ya te he indicado poniendo los datos con variables escritas el cˇdigo cierra la ventana en win 10, ma˝ana lo pruebo en win 7 a ver que pasa solo por curiosidad.
Gracias de nuevo **Aincrad**
13  Programaciˇn / Scripting / Re: el signo = en: 27 Septiembre 2017, 23:03 pm
Muchas gracias Elektro.
Mi problema es tengo una base muy peque˝a con batch y pese a que no entiendo la mayorÝa de las cosas fuera de los comandos simples, con la lectura en el foro y copiando los aportes de otros usuarios soy capaz de construir algo medianamente funcional que seguro no es nada correcto pero llega a funcionar. De otro modo lo que tu presentas para mi es totalmente desconocido.

Mi desconocimiento es tal que todavÝa no soy capaz de saber como es posible que el cˇdigo del compa˝ero funcione y me quite los signos "=" asÝ que imagina la importancia que para mi pueden tener unos segundos mas o menos cuando antes no podÝa hacerlo correr de ning˙n modo.

Te reirÝas si supieras los meses que llevo dando vueltas al cˇdigo tratando de hacerlo por mi cuenta y para tener algo que mostrar a la hora de preguntar, para mi ya solo con que me quite los signos de = es un triunfo de muchas horas de trabajo por mi incapacidad en este terreno pero voy aprendiendo.

Entiendo que es un cˇdigo obsoleto y que hay otras opciones mas actuales y mejores, pero si tengo que ir a alg˙n sitio y me das la opciˇn de conducir en mi coche viejo o en el deportivo mas potente y mas moderno elegirÚ el coche viejo que aunque no soy piloto se como conducirlo mas o menos.

Si que te agradecerÚ alg˙n enlace donde poder iniciarme en Power Shell porque me gusta aprender y ademas que me indiques como hago uso de lo que propones, quiero decir... copio el cˇdigo lo pego en un archivo de texto y que extensiˇn debo ponerle.
14  Programaciˇn / Scripting / Re: No cierra cmd con edlin en: 27 Septiembre 2017, 09:00 am
Tras tantas pruebas de escribir y reescribir tengo varios cˇdigos creados, copie uno que no crea los directorios, a mi me funcionaba porque ya tengo los directorios en %temp% y no me di cuenta que el que publiquÚ le faltaban dos lineas.
Ya le he a˝adido dos lineas y ahora funcionarß, disc˙lpame por hacerte perder tu tiempo.

He borrado las carpetas y comprobado que corre bien, hasta que llega al final y sigue sin cerrar la cmd.
15  Programaciˇn / Scripting / Re: No cierra cmd con edlin en: 26 Septiembre 2017, 08:46 am
Utiliza 7z.exe, 7zdll y el rar.exe descarga de aquÝ

La intenciˇn final del bat es empaquetarlo todo en un exe con "bat to exe converter"

El bat lo que pretende es:
desempacar el zip con las fotos
Leer los datos del archivo pna que contiene el zip, la primera linea, la tercera y la cuarta de ese archivo pna, quitando partes del texto como los signos = (gracias a tu codigo) algunas palabras.
Nombrar  el archivo nuevo con esos tres datos
Empaquetarlo todo en rar (en .part) con un pass.
16  Programaciˇn / Scripting / Re: No cierra cmd con edlin en: 25 Septiembre 2017, 21:37 pm
Me da un poco de vergŘenza ponerlo entero
El cˇdigo este:

Código:
@echo off
TITLE Wellcome %USERNAME%
MODE con:cols=82 lines=40
if not exist %temp%\ttdje MD %temp%\ttdje
if not exist %TMP%\BMCTP\ MD %TMP%\BMCTP
if exist %temp%\ttdje\*.txt del %temp%\ttdje\*.txt >nul
Echo.
if exist %temp%\ttdje\*.bak del %temp%\ttdje\*.bak >nul
Echo.
if exist %temp%\ttdje\*.pna del %temp%\ttdje\*.pna >nul
if not exist files_zip MD files_zip >nul
if not exist compressed MD compressed
if exist "%TMP%\BMCTP" Del /Q "%TMP%\BMCTP" >nul
    >Nul Ping -n 2 Localhost
if not exist files_zip MD files_zip >nul
if not exist compressed MD compressed >nul
echo.
if exist 7z.dll move 7z.dll %temp%\ttdje\7z.dll >nul
if exist 7z.exe move 7z.exe %temp%\ttdje\7z.exe >nul
if exist Rar.exe move Rar.exe %temp%\ttdje\Rar.exe >nul
echo.
goto pass1
:passno
color a
          (  cls
echo.
echo         ╔════════════════════════════════════╗
echo         ║                                    ║
echo         ║        ..:: Attention ::..         ║
echo         ║        will not be echoed          ║
echo         ║                                    ║
echo         ╚════════════════════════════════════╝
echo.
                 echo/
echo      ============================================
echo      =          ..:: ATTENTION ::..             =
echo      ============================================
echo      = Please, Enter the value for the password.=
echo      ============================================
                 echo/
                 echo/
                     pause
                       goto pass1
                                        )
 
:pass1

                 ( cls
echo.
echo         ╔════════════════════════════════════╗
echo         ║                                    ║
echo         ║        ..:: Attention ::..         ║
echo         ║        will not be echoed          ║
echo         ║                                    ║
echo         ╚════════════════════════════════════╝
echo.
                      echo/
      set /p "Pass=^> Enter the value for the password in all rar files:  "
                if not defined pass (goto:passno)
                                             goto continue
             )
 
:continue
cls
echo.
echo.
echo           Tu contrase˝a es %pass%
pause
:inicio
cls
echo         ╔════════════════════════════════════╗
echo         ║                                    ║
echo         ║    ..:: Extract-zip massive ::..   ║
echo         ║              by Orni               ║
echo         ║                                    ║
echo         ╚════════════════════════════════════╝
echo.
echo ----------------------------------------------------------------------------
echo  %DATE% ^| %TIME%
echo ----------------------------------------------------------------------------
if not exist *.zip goto salir
dir *.zip /B >%temp%\ttdje\temp.txt
    >Nul Ping -n 2 Localhost
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type %temp%\ttdje\temp.txt') do (
set linea=%%x
set linea=!linea:.zip=!
call :show !linea!
)
Goto Busca
:Busca
    <"%temp%\ttdje\temp1.txt" set /p "file="
    set "file"
    echo Wait, extracting '%file%.zip' to %file% dir . . . . .
    Echo.
    if exist %file%.zip %temp%\ttdje\7z.exe x %file%.zip -aoa -o%file% >nul
Goto Busca_datos
:Busca_datos
    dir %file%\*.pna /S /B >%temp%\ttdje\temp2.txt
    >Nul Ping -n 2 Localhost
    <"%temp%\ttdje\temp2.txt" set /p "pna=" >nul
    set "pna" >nul
    copy "%pna%" "%temp%\ttdje" >Nul
    >Nul Ping -n 2 Localhost
    type "%pna%" > "%temp%\ttdje\temp3.txt"
    >Nul Ping -n 2 Localhost
    type "%pna%" > "%temp%\ttdje\temp4.txt"
    >Nul Ping -n 2 Localhost
Goto Serie
:Serie
setlocal enabledelayedexpansion
    for /f "tokens=* delims=" %%x in ('type %temp%\ttdje\temp3.txt') do (
    set linea=%%x
    set linea=!linea:fecha=!
    call :show1 !linea!
    )
Goto Version
:Version
    Set Ruta=%temp%\ttdje
    Set Archivo=temp5
If Not Exist "%temp%\ttdje\%Archivo%.txt" (
        cls
Echo No se ha encontrado el archivo solicitado, intente nuevamente.
Goto version
) Else (

Goto Backup
)
:Backup
Copy /Y "%Ruta%\%Archivo%.txt" "%TMP%\BMCTP\%Archivo%_Backup.txt" >nul
If Exist "%TMP%\BMCTP\%Archivo%_Backup.txt" (
Echo.
>Nul Ping -n 3 Localhost & Goto Caracter
) Else (

Echo Error al hacer Backup del archivo.
Pause >nul
Exit
)
:Caracter
Set Caracter=^=
If "%Caracter%" == "" Cls & Echo Por favor no intente ingresar valores nulos... & Echo. & Goto Caracter
>Nul Ping -n 1 Localhost
:Mod
Set PosX=0
For /F "Usebackq Tokens=*" %%a IN ("%Ruta%\%Archivo%.txt") Do (
Set Linea=%%a
Call:Buscador
Set "LineaNueva="
)

Goto Aprobacion
 
:Buscador
If Not "%Caracter%" == "!Linea:~%PosX%,1!" (
If "!Linea:~%PosX%,1!" == "" (
Set PosX=0
Echo !LineaNueva!>>"%TMP%\BMCTP\Nuevo_%Archivo%.txt"
Goto:Eof
)
Set "LineaNueva=%LineaNueva%!Linea:~%PosX%,1!"
Set /A PosX+=1
Goto Buscador
) Else (
If "!Linea:~%PosX%,1!" == "" (
Set PosX=0
Echo !LineaNueva!>>"%TMP%\BMCTP\Nuevo_%Archivo%.txt"
Goto:Eof
)
Set /A PosX+=1
Goto Buscador
)
 
:Aprobacion
del /f /q %Ruta%\temp5.txt
Copy /Y "%TMP%\BMCTP\Nuevo_%Archivo%.txt" "%Ruta%\%Archivo%.txt" >nul
Copy /Y "%TMP%\BMCTP\Nuevo_%Archivo%.txt" "%Ruta%\TEMP6.txt" >nul

    >Nul Ping -n 1 Localhost
    Del /Q "%TMP%\BMCTP" >nul
    >Nul Ping -n 2 Localhost
Goto Datos
:Datos
 setlocal enabledelayedexpansion
    for /f "tokens=* delims=" %%x in ('type %temp%\ttdje\temp6.txt') do (
    set linea=%%x
    set linea=!linea:id=!
    set linea=!linea:.pna=!
    call :show2 !linea!
    )
Goto mod
:mod
    (
    echo 3,3,1M
    echo e
    ) | edlin /b %temp%\ttdje\temp4.txt >nul
    >Nul Ping -n 2 Localhost
   >nul <"%temp%\ttdje\temp4.txt" set /p "serie=" >nul
    set "serie" >nul
>Nul Ping -n 2 Localhost
    (
    echo 4,4,1M
    echo e
    ) | edlin /b %temp%\ttdje\temp5.txt >nul
    >Nul Ping -n 2 Localhost
   >nul <"%temp%\ttdje\temp5.txt" set /p "version=" >nul
    set "version" >nul
Goto comprime
:Comprime
  <"%temp%\ttdje\temp7.txt" set /p "nomb=" >nul
    set "nomb" >nul
    set mapn=%nomb%_%serie%_%version%
    rename "%file%"  "%mapn%"
if exist %mapn% %temp%\ttdje\rar a -r -rr -v116M -p%Pass% compressed\%mapn% %mapn%.rar %mapn%
             move "%file%.zip" "files_zip" >nul
if not exist compressed\%mapn%.rar goto rarerror   
if exist %temp%\ttdje\*.txt del %temp%\ttdje\*.txt
    if exist %temp%\ttdje\*.bak del %temp%\ttdje\*.bak
    if exist %temp%\ttdje\*.pna del %temp%\ttdje\*.pna
    rmdir /s /Q %mapn%
cls
Goto:inicio
:Rarerror
    echo No se ha podido crear el archivo comprimido.
    pause >nul
    @cls&exit
:Salir
    if exist %temp%\ttdje\*.txt del %temp%\ttdje\*.txt
    if exist %temp%\ttdje\*.bak del %temp%\ttdje\*.bak
    if exist %temp%\ttdje\*.pna del %temp%\ttdje\*.pna
    echo All zip files have been extracted.
    echo All zip have been moved to dir "files_zip"
    echo The .rar files have been created with the pass %Pass%
    echo Do you want to delete the directory
    rd /s files_zip
CLS
@EXIT
:show
    echo %*>>%temp%\ttdje\temp1.txt
    goto:eof
:show1
    echo %*>>%temp%\ttdje\temp5.txt
    goto:eof
:show2
    echo %*>>%temp%\ttdje\temp7.txt
    goto:eof

Ejemplo de archivo que gestiona es este, el bat y el archivo content.zip estßn en la misma carpeta del pc.



17  Programaciˇn / Scripting / Re: No cierra cmd con edlin en: 25 Septiembre 2017, 12:07 pm
No me ha funcionado ninguno de los dos.

Sustituyo por exit y se queda igual que antes cmd con el cursor.

Quitando los dos comandos edlin (metiendo las variables a mano) si que funcionan los dos cˇdigos que me has proporcionado al igual que lo hace exit, pero corriendo el cˇdigo con edlin no rulan ninguna de las tres opciones de cierre.

No se cual es problema que genera edlin pero he notado que a veces tambiÚn salta un error de windows "ntvdm.exe dejo de funcionar" cuando corre el cˇdigo. 
18  Programaciˇn / Scripting / Re: No cierra cmd con edlin en: 24 Septiembre 2017, 12:30 pm
TratarÚ de ser mas especifica.

Al final del cˇdigo ya tiene su cls y su exit, el cˇdigo corre bien y realiza la funciˇn de tomar los datos copiar los archivos y comprimir el nuevo directorio.
Cuando llega el momento de salir ejecuta bien el cls limpiando la pantalla de la consola pero no llega a cerrar la consola quedando solo el cursor titilando.

He probado a quitar los comandos edlin y meter los datos de variable a mano y asÝ si que cierra, es solo cuando incluyo el comando con edlin cuando se queda sin cerrar, si le das a la x de la ventana si que se cierra el cmd.

La pregunta es: si hay manera de tomar los datos de los dos textos en su tercera y cuarta linea sin usar edlin para poner esas lineas en la primera linea del texto.


19  Programaciˇn / Scripting / No cierra cmd con edlin en: 24 Septiembre 2017, 00:14 am
Tengo dos archivos texto iguales (texto1 y texto2) con este formato

juan
antonio
el_bueno
el_bueno2
pedro

Necesito meter el_bueno, el_bueno2, en dos variables para crear un directorio con ese nombre compuesto

he procedido asÝ:


Código:
@echo off
rem borra las dos primeras lineas de texto1 y deja "el bueno" en primera linea.
(
ECHO 1d, 1d
ECHO E
) | EDLIN /B texto1.txt > nul 2>&1
Echo.
>Nul Ping -n 2 Localhost
rem borra las tres primeras lineas de texto2 y deja "el bueno2" en primera linea.
Echo.
(
ECHO 1d, 2d
ECHO E
) | EDLIN /B texto2.txt > nul 2>&1
goto datos
:datos
rem toman las primeras lineas de los textos para incluirlos en las variables.
<"texto1.txt" set /p "var1="
set "var1"
Echo.
<"texto2.txt" set /p "var1="
set "var2"

Md %var1%_%var2%

Luego copio unos archivos de otro directorio a ese que he creado y lo comprimo en rar. Eso asÝ funciona pero al terminar el proceso no cierra la ventana de cmd.

He probado con esta otra formula para mover las lineas a la primera linea y tomar el dato para la variable...

Código:
@echo off
(
echo 3,3,1M
echo e
) | edlin /b texto2.txt
(
echo 4,4,1M
echo e
) | edlin /b texto2.txt

pero me pasa lo mismo.

┐Hay manera de tomar el dato de los textos sin usar edlin?





20  Programaciˇn / Scripting / Re: SET /P sin valor declarado en: 21 Septiembre 2017, 23:03 pm
Funciona perfecto compa˝ero, como he comentado antes, ya he comprobado que o pones valor a la variable o no hay tu tÝa...

Ya lo he implementado al que tenÝa asÝ ha quedado

Código:
goto pass1
:passno
color a
          (  cls
echo.
echo         ╔════════════════════════════════════╗
echo         ║                                    ║
echo         ║        ..:: Attention ::..         ║
echo         ║        will not be echoed          ║
echo         ║                                    ║
echo         ╚════════════════════════════════════╝
echo.
                 echo/
echo      ============================================
echo      =          ..:: ATTENTION ::..             =
echo      ============================================
echo      = Please, Enter the value for the password.=
echo      ============================================
                 echo/
                 echo/
                     pause
                       goto pass1
                                        )
 
:pass1

                 ( cls
echo.
echo         ╔════════════════════════════════════╗
echo         ║                                    ║
echo         ║        ..:: Attention ::..         ║
echo         ║        will not be echoed          ║
echo         ║                                    ║
echo         ╚════════════════════════════════════╝
echo.
                      echo/
      set /p "Pass=^> Enter the value for the password in all rar files:  "
                if not defined pass (goto:passno)
                                             goto continue
             )
 
:continue
cls
echo.
echo.
echo           tu contrase˝a es %pass%
pause


he pasado el cˇdigo de color a passno de tal modo que si no pones el pass saldrß todo el cˇdigo en verde y si pones el pass el color sale por defecto.

Compi muchas gracias de nuevo por otra clase a esta pazguata que le queda mucho por aprender.

He aprovechado tu cˇdigo anterior (el del =) para retomar un tema anterior que tenia aparcado precisamente por el mismo signo.

TodavÝa me viene grande este idioma pero con vosotros ya he aprendido a automatizar algunas tareas. Gracias de nuevo.
Páginas: 1 [2] 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines