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

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: 1 ... 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [87] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ... 105
861  Informática / Software / Busco el ActiveTCL 8.5 u 8.4.4 en: 26 Octubre 2012, 09:05 am
Hola,

¿Alguien sabe donde encontrar EXACTAMENTE la versión estable 8.5.0 de Active TCL? o en su defecto la versión 8.4.4?...

PD: Ya miré aquí: http://downloads.activestate.com/ActiveTcl/releases/

Estaría muy agradecido.
Saludos
862  Programación / Scripting / [BATCH] [APORTE] TextFont Installer (Instalador automático de fuentes de texto) en: 24 Octubre 2012, 18:05 pm
Un pequeño code que me he hecho para automatizar la instalación de muchas fuentes de texto TTF u OTF EN WINDOWS 7...
Viene bien para ciertos casos así que aquí lo dejo por si alguien anda buscando algo parecido.

(Versión 0.2)



Código
  1. @ECHO OFF
  2. Mode con COLS=60 LINES=3
  3. TITLE Text Font Installer (By Elektro H@cker^) v0.2
  4. Nircmd win center ititle "Fuentes TrueType" 2>NUL
  5. COLOR 07
  6.  
  7. :: Modo de instalación normal
  8. REM Instalador.bat
  9. :: Modo de instalación recursiva
  10. REM Instalador.bat -R
  11.  
  12. Takeown /F "%SystemRoot%\Fonts" >NUL
  13. Icacls "%SystemRoot%\Fonts" /Grant "%USERNAME%":(F) >NUL
  14. Attrib -R -S "%SystemRoot%\Fonts" >NUL
  15.  
  16. IF /I "%~1" EQU "-R" (Set "DIR_RECURSIVE=/S" & Set "FOR_RECURSIVE=/R")
  17.  
  18. For /F %%X in ('Dir /B %DIR_RECURSIVE% "*.OTF"; "*.TTF" ^| FIND /V /C ""') Do (SET "Total=%%X")
  19.  
  20. For %FOR_RECURSIVE% %%# in (*.otf; *.ttf) DO (
  21. Set /A "Counter+=1"
  22. IF /I "%%~x#" EQU ".OTF" (Call SET "Font_Type=OpenType") ELSE (Call SET "Font_Type=TrueType")
  23. CALL Echo: Instalando fuentes de texto...  ( %%COUNTER%% de %%TOTAL%% ^)
  24. Echo: [+] %%~nx#
  25. CALL REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /V "%%~n# (%%Font_Type%%)" /D "%%~nx#" /F >NUL
  26. CALL REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Fonts" /V "%%~n# (%%Font_Type%%)" /D "%%~nx#" /F >NUL
  27. COPY /Y "%%#" "%SystemRoot%\Fonts\" >NUL
  28. )
  29.  
  30. Echo: Las fuentes de texto se han instalado!
  31. Timeout /T 3



Versión alternativa del script (Se reduce el molesto efecto del borrado de pantalla, pero la ventana queda más pequeña, menos bonita xD)
Código
  1. @ECHO OFF
  2. Mode con COLS=60 LINES=5
  3. TITLE Text Font Installer (By Elektro H@cker^) v0.2
  4. Nircmd win center ititle "Fuentes TrueType" 2>NUL
  5. COLOR 07
  6.  
  7. :: Modo de instalación normal
  8. REM Instalador.bat
  9. :: Modo de instalación recursiva
  10. REM Instalador.bat -R
  11.  
  12. Takeown /F "%SystemRoot%\Fonts" >NUL
  13. Icacls "%SystemRoot%\Fonts" /Grant "%USERNAME%":(F) >NUL
  14. Attrib -R -S "%SystemRoot%\Fonts" >NUL
  15.  
  16. IF /I "%~1" EQU "-R" (Set "DIR_RECURSIVE=/S" & Set "FOR_RECURSIVE=/R")
  17.  
  18. For /F %%X in ('Dir /B %DIR_RECURSIVE% "*.OTF"; "*.TTF" ^| FIND /V /C ""') Do (SET "Total=%%X")
  19.  
  20. For %FOR_RECURSIVE% %%# in (*.otf; *.ttf) DO (
  21. Set /A "Counter+=1"
  22. IF /I "%%~x#" EQU ".OTF" (Call SET "Font_Type=OpenType") ELSE (Call SET "Font_Type=TrueType")
  23. CALL Echo: Instalando fuentes de texto...  ( %%COUNTER%% de %%TOTAL%% ^) | MORE
  24. Echo: [+] %%~nx#
  25. CALL REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" /V "%%~n# (%%Font_Type%%)" /D "%%~nx#" /F >NUL
  26. CALL REG ADD "HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Fonts" /V "%%~n# (%%Font_Type%%)" /D "%%~nx#" /F >NUL
  27. COPY /Y "%%#" "%SystemRoot%\Fonts\" >NUL
  28. CLS
  29. )
  30.  
  31. Echo: Las fuentes de texto se han instalado!
  32. Timeout /T 3

Saludos
863  Programación / Scripting / [RUBY] [WINDOWS] IShack v1.4 (ImagesHack Uploader) ...(24/10/2012) en: 18 Octubre 2012, 04:32 am
ISHACK v1.4
An Imageshack commandline uploader.

By Elektro H@cker.








Modo de empleo:
Código:
 IShack (Opciones) (Archivo)


Ejemplos:
Código:

IShack -d Imagen.jpg
(Devuelve el enlace directo de la imagen)

IShack -d "C:\Imagen1.bmp" "C:\Imagen2.jpg" "C:\Imagen3.png"
(Devuelve el enlace directo de varias imagenes)

IShack --private -b -h "C:\Imagen.jpg"
(Marca la imagen como privada, y devuelve el enlace BB y HTML de la imagen)

IShack --resize 640x480 -d Imagen1.jpg Imagen2.bmp
(Redimensiona las imagenes a XxY y devuelve el enlace directo)

IShack --config
(Muestra el menú de configuración de cuenta de acceso)
.


Opciones:
Código:
-d  --direct
    Devuelve el enlace directo de la imagen.

-t  --thumb
    Devuelve el enlace directo de la miniatura de la imagen.

-b  --bbcode
     Devuelve el enlace de la imagen en formato BB.

-bt --bbcodethumb
     Devuelve el enlace de la imagen con miniatura en formato BB.

-h  --html
     Devuelve el enlace de la imagen en formato HTML.

-ht --htmlthumb
     Devuelve el enlace de la imagen con miniatura en formato HTML.

-i --imageshack
     Devuelve el enlace web de la imagen en imageshack.

-y  --yfrog
     Devuelve el enlace web de la imagen en YFrog.

-yt  --yfrogthumb
     Devuelve el enlace de la miniatura de la imagen en YFrog.

-a  --all
     Devuelve el enlace de la imagen en todos los formatos.

-p  --private
     Marca la imagen como privada.

-r  --resize
     Redimensiona la imagen.

-c  --config
     Establece los datos de acceso a una cuenta de ImagesHack.

/?   Muestra esta ayuda.






Cambios en la versión 1.4
  • El script ahora comprueba si el usuario/pass existe en Imageshack.
  • Añadida una opción para redimensionar la imagen subida.
  • Eliminada la opción para marcar la imagen como "pública", pues era innecesaria.
  • Añadido un switch alternativo ("-p") para la opción "--private".

Cambios en la versión 1.3
 Corregido un error de última hora en los switches yes/no de la privacidad de la imagen, estaban al revés xD.

Cambios en la versión 1.2

  • Un cambio de nombre, ahora es ISHACK      ...xD
  • El programa ahora acepta más de una opción de formato al mismo tiempo
           (Antes solo se podía usar uno de los parámetros, ahora se pueden elegir los formatos deseados)

  • Se puede subir más de un archivo simultaneamente.
  • Opcion añadida para poder marcar la imagen como pública o privada
  • Más opciones de formato añadidas pudiendo obtener los siguientes enlaces:
           bb code thumbnail
            html thumbnail
            imageshack web
            yfrog web
            yfrog web thumbnail

  • Se genera automáticamente un código de miniaturas aunque Imageshack no cree la miniatura.
  • Los datos de acceso de la cuenta de ImagesHack se almacenan (cifrados) en el registro de Windows.
  • Pequeños cambios internos en el código, se ha simplificado y mejorado un poco dentro de lo que me ha sido posible. (No soy un PRO de Ruby :P)

 ERRORES CORREGIDOS:
  • Si la imagen es demasiado pequeña ImagesHack no devuelve una miniatura pero ya no da error.
  • Corregida la información de los formatos compatibles (ICO no es soportado por Imageshack)

Cambios en la versión 1.1

  • Se puede configurar para subir las imagenes anónimamente o a una cuenta
  • Se comprueba si la imagen se subió correctamente
  • La obtención de la imagen en BB code link se ha modificado quitandole el tag [ URL ]
  • El código del script se ha simplificado y mejorado un poco...



DESCARGAS:

SHACK.exe (El script compilado, nada más): http://exoshare.com/download.php?uid=RR0ZEMGX

SHACK.exe (Instalador personalizado para windows que añade opciones al menú contextual...): http://exoshare.com/download.php?uid=1PPR9PPT





ISHACK.rb (v 1.4):
Código
  1. # -*- coding: UTF-8 -*-
  2.  
  3.  
  4. require 'rest_client'
  5. require 'openssl'
  6. require 'win32/registry'
  7.  
  8.  
  9. exit if Object.const_defined?(:Ocra)
  10.  
  11.  
  12. $formats = ""
  13. $files   = ""
  14.  
  15.  
  16. def logo()
  17.  print "
  18.  @    @@                          
  19.      @  @  @    *             *    
  20.  @   @     @  *    @@@  * @@@   @   @ *
  21. *@    @  * @     *    @  @ * @  @  @
  22.  @   * @   @ @@       @  @      @ @
  23.  @*     @  @@ *@   @@@@  @  *   @@  *
  24.  @  @ * @  @   @  @ * @  @      @ @
  25. *@  @  @   @   @  @   @  @ * @  @* @
  26.  @   @@    @ * @   @@@@   @@@   @   @
  27.  
  28.                                v1.4
  29.                                By Elektro H@cker\n"
  30. end
  31.  
  32.  
  33. def help()
  34. print '
  35. [Modo de empleo]
  36.  
  37. IShack (Opciones) (Archivo)
  38.  
  39.  
  40.  
  41. [Ejemplos]
  42.  
  43. [+] IShack -d Imagen.jpg
  44.     Devuelve el enlace directo de la imagen.
  45.  
  46. [+] IShack -d "C:\Imagen1.bmp" "C:\Imagen2.jpg" "C:\Imagen3.png"
  47.     Devuelve el enlace directo de varias imagenes.
  48.  
  49. [+] IShack --private -b -h "C:\Imagen.jpg"
  50.     Marca la imagen como privada, y devuelve el enlace BB y HTML de la imagen.
  51.  
  52. [+] IShack --resize 640x480 -d Imagen1.jpg Imagen2.bmp
  53.     Redimensiona las imagenes a XxY y devuelve el enlace directo.
  54.  
  55. [+] IShack --config
  56.     Muestra el menú de configuración de cuenta de acceso.
  57.  
  58.  
  59.  
  60. [Opciones]
  61.  
  62.  -d  --direct
  63.      Devuelve el enlace directo de la imagen.
  64.  
  65.  -t  --thumb
  66.      Devuelve el enlace directo de la miniatura de la imagen.
  67.  
  68.  -b  --bbcode
  69.       Devuelve el enlace de la imagen en formato BB.
  70.  
  71.  -bt --bbcodethumb
  72.       Devuelve el enlace de la imagen con miniatura en formato BB.
  73.  
  74.  -h  --html
  75.       Devuelve el enlace de la imagen en formato HTML.
  76.  
  77.  -ht --htmlthumb
  78.       Devuelve el enlace de la imagen con miniatura en formato HTML.
  79.  
  80.  -i --imageshack
  81.       Devuelve el enlace web de la imagen en imageshack.
  82.  
  83.  -y  --yfrog
  84.       Devuelve el enlace web de la imagen en YFrog.
  85.  
  86.  -yt  --yfrogthumb
  87.       Devuelve el enlace de la miniatura de la imagen en YFrog.
  88.  
  89.  -a  --all
  90.       Devuelve el enlace de la imagen en todos los formatos.
  91.  
  92.  -p  --private
  93.       Marca la imagen como privada.
  94.  
  95.  -r  --resize
  96.       Redimensiona la imagen.
  97.  
  98.  -c  --config
  99.       Establece los datos de acceso a una cuenta de ImagesHack.
  100.  
  101.  /?   Muestra esta ayuda.
  102.  
  103. '
  104. Process.exit
  105. end
  106.  
  107.  
  108. def arguments()
  109.  
  110.  # empty arguments
  111.  if (ARGV.empty?) then help() end
  112.  
  113.  ARGV.each do |arg|
  114.  
  115.  # /?
  116.    if arg == "/?" then help() end
  117.  
  118.  # -c --config
  119.    if arg =~ /-c\z/i or arg =~ /--config\z/i then configure() end
  120.  
  121.  # private
  122.    if arg =~ /-p\z/i or arg =~ /--private\z/i then $privacity = "no" end
  123.  
  124.  # -d --direct
  125.    if arg =~ /-d\z/i or arg =~ /--direct\z/i then $formats=$formats + "\n-d" end
  126.  
  127.  # -t --thumb
  128.    if arg =~ /-t\z/i or arg =~ /--thumb\z/i  then $formats=$formats + "\n-t" end
  129.  
  130.  # -b --bbcode
  131.    if arg =~ /-b\z/i or arg =~ /--bbcode\z/i then $formats=$formats + "\n-b" end
  132.  
  133.  # -bt --bbcodethumb
  134.    if arg =~ /-bt\z/i or arg =~ /--bbcodethumb\z/i then $formats=$formats + "\n-bt" end
  135.  
  136.  # -h --html
  137.    if arg =~ /-h\z/i or arg =~ /--html\z/i then $formats=$formats + "\n-h" end
  138.  
  139.  # -ht --htmlthumb
  140.    if arg =~ /-ht\z/i or arg =~ /--htmlthumb\z/i then $formats=$formats + "\n-ht" end
  141.  
  142.  # -i --imageshack
  143.    if arg =~ /-i\z/i or arg =~ /--imageshack\z/i then $formats=$formats + "\n-i" end
  144.  
  145.  # -y --yfrog
  146.    if arg =~ /-y\z/i or arg =~ /--yfrog\z/i then $formats=$formats + "\n-y" end
  147.  
  148.  # -yt --yfrogthumb
  149.    if arg =~ /-yt\z/i or arg =~ /--yfrogthumb\z/i then $formats=$formats + "\n-yt" end
  150.  
  151.  # -a --all
  152.    if arg =~ /-a\z/i or arg =~ /--all\z/i then $formats="\n-d"+"\n-t"+"\n-b"+"\n-bt"+"\n-h"+"\n-ht"+"\n-i"+"\n-y"+"\n-yt" end
  153.  
  154.  # -r --resize
  155. if arg =~ /-r\z/i or arg =~ /--resize\z/i
  156. $resize_switch = "1"
  157. $resize_size   = ARGV.to_s.split('"'+arg+'", "').last.split('"').first
  158. if not $resize_size[/^[0-9]{1,5}[x][0-9]{1,5}$/i]
  159. print "  [+] ERROR\n\n      La resolución \"#{$resize_size}\" no es correcta...\n"
  160. Process.exit
  161. end
  162. elsif arg =~ /-r\z/i or arg =~ /--resize\z/i
  163. $resize_switch = "0"
  164.    print "hola"
  165.    sleep 3
  166. end
  167.  
  168.  # files to upload
  169.    if arg[/.bmp\z/i] or arg[/.gif\z/i] or arg[/.jpg\z/i] or arg[/.jpeg\z/i] or arg[/.png\z/i] or arg[/.tif\z/i] or arg[/.tiff\z/i]
  170.      if File.exist?(arg)
  171.        $files=$files + arg + "\n"
  172.      elsif
  173.        print "  [+] ERROR\n\n      La imagen #{arg} no existe...\n"
  174.        Process.exit
  175.      end
  176.    end
  177.  end # ARGV.each
  178.  
  179.  # empty options
  180.  if $formats == ""
  181.    print "  [+] ERROR\n\n      Opción incorrecta...\n"
  182.    Process.exit
  183.  end
  184.  
  185. end
  186.  
  187.  
  188. def configure()
  189. $profile = "error id"
  190.    print "\n Puede configurar su cuenta de acceso de ImagesHack para subir las imagenes...\n\n"
  191.  
  192.   until not $profile["error id"]
  193.     print " [+] Escriba su nombre de usuario: "
  194.   $user=STDIN.gets
  195.   if $user == "\n" then $user="guest\n" end
  196.  
  197.   print " [+] Escriba su password: "
  198.   $pass=STDIN.gets
  199.   if $pass == "\n" then $pass="guest\n" end
  200.  
  201.   $profile = RestClient.post('http://imageshack.us/auth.php',
  202.   :username => $user.gsub("\n",""),
  203.   :password => $pass.gsub("\n",""),
  204.   :format => "xml"
  205.   )
  206.  
  207.   if $profile["error id"] and not $user+$pass=="guest\nguest\n"
  208.   print "\n [+] ERROR\n\n     El nombre de usuario o contraseña son incorrectos.\n\n"
  209.   elsif $user=="guest\n" and $pass=="guest\n"
  210.   $profile="guest"
  211.   end
  212.   end # until
  213.   userencrypted=cifrar($user, "DES-EDE3-CBC")
  214.   passencrypted=cifrar($pass, "DES-EDE3-CBC")
  215.   regwrite("USER", userencrypted)
  216.   regwrite("PASS", passencrypted)
  217.   puts "\n Datos configurados, vuelva a ejecutar el programa..."
  218.   Process.exit
  219. end
  220.  
  221.  
  222. def cifrar(datos, cifrado)
  223.  encrypt = OpenSSL::Cipher::Cipher.new(cifrado)
  224.  encrypt.encrypt
  225.  encrypt.update(datos) + encrypt.final      
  226. end
  227.  
  228.  
  229. def descifrar(datos, cifrado)
  230.  decrypt = OpenSSL::Cipher::Cipher.new(cifrado)
  231.  decrypt.decrypt
  232.  decrypt.update(datos) + decrypt.final
  233. end
  234.  
  235.  
  236. def regwrite(keyname, value)
  237.  Win32::Registry::HKEY_CURRENT_USER.create("SOFTWARE\\IShack\\") do |reg|
  238.    reg[keyname, Win32::Registry::REG_SZ] = value
  239.  end
  240. end
  241.  
  242.  
  243. def regread(keyname)
  244.  Win32::Registry::HKEY_CURRENT_USER.open("SOFTWARE\\IShack\\") do |reg|
  245.    reg[keyname]
  246.  end
  247. end
  248.  
  249.  
  250. def subir(file)
  251.  print "\n [ Subiendo la imagen #{file}... ]\n\n"
  252.  
  253.  begin
  254.    $Imagen = RestClient.post('http://www.imageshack.us/upload_api.php',
  255.    :a_username => $user,
  256.    :a_password => $pass,
  257.    :key        => "268BEKSV9465b858a45cd1b4d2b32d1195ee6f27",
  258.    :public     => $privacity,
  259.    :fileupload => File.new(file),
  260.    :optimage   => $resize_switch,
  261.    :optsize    => $resize_size)
  262.  rescue
  263.    print ' [+] ERROR
  264.  
  265.     El error puede ser debido a uno de los siguientes motivos:
  266.  
  267.     - La página esté offline.
  268.     - El tamaño de la imagen supere los 10 MB.
  269.     - Haya superado el límite de 500 imagenes hospedadas en su cuenta.
  270.    '
  271.  Process.exit
  272.  end # exception
  273. end
  274.  
  275.  
  276. def show()
  277.  if $Imagen["http://www.imageshack.us/thumbnail."] then $thumbs="no" end
  278.  $nothumb = ' ImagesHack no creó ninguna miniatura. (La imagen es demasiado pequeña)' + "\n"
  279.  
  280.  direct = $Imagen.split("<image_link>").last.split("</image_link>").first.to_s
  281.  thumb  = $Imagen.split("<thumb_link>").last.split("</thumb_link>").first
  282.  b      = "[IMG]"+$Imagen.split("<image_bb>").last.split("</image_bb>").first.split("[IMG]").last.split("[/IMG]").first+"[/IMG]"
  283.  bt     = $Imagen.split("<thumb_bb>").last.split("</thumb_bb>").first
  284.  h      = $Imagen.split("<image_html>").last.split("</image_html>").first.gsub("&gt;", ">").gsub("&lt;", "<").gsub("&quot;", "\"")
  285.  ht     = $Imagen.split("<thumb_html>").last.split("</thumb_html>").first.gsub("&gt;", ">").gsub("&lt;", "<").gsub("&quot;", "\"")
  286.  i      = $Imagen.split("<is_link>").last.split("</is_link>").first
  287.  y      = $Imagen.split("<yfrog_link>").last.split("</yfrog_link>").first
  288.  yt     = $Imagen.split("<yfrog_thumb>").last.split("</yfrog_thumb>").first
  289.  
  290.  $formats.each_line do |link|
  291.    if link.gsub("\n","") == "-d" then print " [+] DIRECTO:\n\n" + direct + "\n\n" end
  292.  
  293.    if link.gsub("\n","") == "-t"
  294.      print " [+] MINIATURA:\n\n"
  295.      if $thumbs=="no"
  296.        print $nothumb + "\n" + direct + "\n\n"
  297.      elsif
  298.        print thumb + "\n\n"
  299.      end
  300.    end # thumbail
  301.  
  302.    if link.gsub("\n","") == "-b"  then print " [+] BB CODE:\n\n" + b + "\n\n" end
  303.  
  304.    if link.gsub("\n","") == "-bt"
  305.      print " [+] BB CODE MINIATURA:\n\n"
  306.      if $thumbs=="no"
  307.        print $nothumb + "\n" + "[URL="+direct+"][IMG]"+direct+"[/IMG][/URL]"+"\n\n"
  308.      elsif
  309.        print bt + "\n\n"
  310.      end
  311.    end # bb thumbnail
  312.  
  313.    if link.gsub("\n","") == "-h"  then print " [+] HTML:\n\n" + h + "\n\n" end
  314.  
  315.    if link.gsub("\n","") == "-ht"
  316.      print " [+] HTML MINIATURA:\n\n"
  317.      if $thumbs=="no"
  318.        print $nothumb + "\n" + '<a href="' + direct + '" target="_blank"><img src="' + direct + '" alt="Imagen subida con IShack v1.4 (By Elektro H@cker)" border="0"/></a>'+"\n\n"
  319.      elsif
  320.        print ht + "\n\n"
  321.      end
  322.    end # ht thumbnail
  323.  
  324.    if link.gsub("\n","") == "-i"  then print " [+] IMAGESHACK:\n\n" + i + "\n\n" end
  325.    if link.gsub("\n","") == "-y"  then print " [+] YFROG:\n\n" + y + "\n\n" end
  326.    if link.gsub("\n","") == "-yt" then print " [+] YFROG MINIATURA:\n\n" + yt + "\n\n" end
  327.  end # |link|
  328. end
  329.  
  330.  
  331.  
  332. logo()
  333. arguments()
  334.  
  335. begin
  336.  $user=regread("USER")
  337.  $pass=regread("PASS")
  338.  $user=descifrar($user, "DES-EDE3-CBC").gsub("\n","")
  339.  $pass=descifrar($pass, "DES-EDE3-CBC").gsub("\n","")
  340. rescue
  341.  $user="guest"
  342.  $pass="guest"
  343. end
  344. $files.each_line do |file|
  345.  subir(file.gsub("\n",""))
  346.  show()
  347. end
  348.  
  349.  
  350. __END__
  351.  
  352.  
864  Programación / Scripting / [BATCH] [APORTE] Auto Music Converter 3.0 (Automatiza conversiones a MP3) en: 16 Octubre 2012, 15:47 pm
Auto Music Converter es un script de uso personal para automatizar conversiones masivas de audio, a MP3 de "X" bitrate, en cualquier directorio simplemente pinchando click derecho sobre el mismo.

SOLO ES COMPATIBLE CON WINDOWS 7 (x64)





- Explicación detallada de para que sirve el script:

Imaginemos que tenemos una carpeta (con o sin subcarpetas) llena de archivos de música, de distintos formatos y a distintos bitrates...

Nosotros queremos que el bitrate general de esos archivos no supere por ejemplo los "192 kbps", osea, que en esa carpeta puedan haber archivos con bitrate inferior al indicado (192) PERO NO SUPERIOR AL INDICADO (192)...

Entonces el script comparará el bitrate de todos los archivos en esa carpeta con el bitrate indicado, y si encuentra algún archivo con bitrate MAYOR al indicado (192), lo convertirá a MP3 con el bitrate indicado (192).

PD: El script no afecta a archivos que tengan un bitrate inferior al indicado, ya que es una tontería convertir un archivo de bitrate inferior a superior...





Auto Music Converter es la renovación de mi antiguo script Audio Bitrate Changer http://foro.elhacker.net/empty-t322340.0.html
(Optimizado, simplificado, con más formatos soportados, y ahora es totálmente customizable)

El script usa el convertidor por línea de comandos (coreconverter.exe) de dbPoweramp y aparte depende de los siguientes programas:
  • colous
  • FART
  • mediainfo
  • mp3gain
  • mp3val
  • nircmd

Formatos soportados:
  • AIF/AIFF
  • APE
  • FLA/FLAC
  • M4A
  • MP3
  • OGG
  • W64
  • WAV
  • WMA
  • WV

PD: Está todo incluido en el instalador y no hay que instalar nada de lo mencionado manualmente.





- Explicación de las opciones más importantes del script:

Código:
SET "MAX_BITRATE=192"
Esto significa que el script buscará archivos que tengan bitrate MAYOR de 192, y si encuentra alguno MAYOR lo convertirá a MP3 de 192 bitrate.
Se puede cambiar el valor por: 128 | 160 | 192 | 224 | 256 | 320

Código:
Set "QUALITY=0"
Indica la calidad de conversión del MP3. El valor máximo es 0, el mínimo 9.

Código:
Set "BITRATE_MODE=--cbr"
Indica el modo de bitrate. CBR = bitrate constante, ABR = Average bitrate, V = Variable bitrate.

Código:
Set "Normalize=YES"
Indica si se le aplicará una ganancia (no destructiva) al MP3. para desactivarlo escribir "NO"

Código:
Set "GAIN=5"
Indica la ganancia sobre 10 que se le aplica. el valor máximo es 10.
5 equivale a 94 db en MP3Gain.




- Algunas imagenes:















- DESCARGA:



PD: El instalador crea un acceso directo en el menú inicio para modificar las opciones manualmente en el bloc de notas.




- El script:

Código
  1. @echo off
  2.  
  3. :: ###############################
  4. :: #                             #
  5. :: #  Auto Music Converter v3.0  #
  6. :: #  A.   M.    C.              #
  7. :: #                             #
  8. :: ###############################
  9. ::
  10. :: By Elektro H@cker
  11.  
  12. REM Este script busca archivos de audio que tengan un bitrate superior a "X" kbps y convierte esos archivos a formato MP3 de "X" kbps.
  13. REM
  14. REM Formatos soportados:
  15. REM AIF | AIFF | APE | FLA | FLAC | M4A | MP3 | OGG | W64 | WAV | WMA | WV
  16.  
  17. :: ###################
  18. :: #                 #
  19. :: #  CONFIGURACIÓN  #
  20. :: #                 #
  21. :: ###################
  22. ::
  23. :: Script options
  24. ::
  25. SET "MAX_BITRATE=192" & REM 128|160|192|224|256|320
  26. ::
  27. Set "FORMATS=*.AIF;*.AIFF;*.APE;*.FLA;*.FLAC;*.M4A;*.MP3;*.OGG;*.W64;*.WAV;*.WMA;*.WV"
  28. Set "CONVERTED_PATH=%Temp%\BitrateChanger_PATH_%RANDOM%.txt"
  29. Set "INDEX=%Temp%\BitrateChanger_INDEX_%RANDOM%.txt"
  30. Set "LIST=%Temp%\BitrateChanger_LIST_%RANDOM%.txt"
  31. Set "RESUMEONERROR=YES"
  32. Set "AUTOEND=YES"
  33. Set /A "Num=0", "Rate=0", "Scanned=0"
  34. ::
  35. :: Encoder options
  36. ::
  37. Set "EFFECTS=-dspeffect1="Preserve Source Attributes" -dspeffect2="Delete Source File=" -dspeffect3="Delete Destination File on Error=""
  38. Set "PROFILE=slow"       & REM fast|normal|slow
  39. Set "QUALITY=0"          & REM (MAX) 0-9 (MIN)
  40. Set "BITRATE_MODE=--cbr" & REM --abr|-V (0-9)
  41. SET "CHANNELS=auto"      & REM mono|stereo|joint stereo|forced joint stereo|dual channels
  42. Set "PRIORITY=normal"    & REM idle|low|normal|high
  43. Set "OTHER=-noidtag --noreplaygain"
  44. ::
  45. :: Gain options
  46. Set "Normalize=YES"
  47. Set "GAIN=5"
  48. ::
  49. :: :: :: :: :: :: :: :: :: :: :: :: ::
  50.  
  51. CALL :FILEEXIST "colous.exe"
  52. CALL :FILEEXIST "coreconverter.exe"
  53. CALL :FILEEXIST "mediainfo.exe"
  54. CALL :FILEEXIST "mp3gain.exe"
  55. CALL :FILEEXIST "mp3val.exe"
  56. CALL :FILEEXIST "nircmd.exe"
  57.  
  58. :START
  59. Title "Auto Music Converter %CD%"
  60. Mode con cols=30 lines=3
  61. Color 07
  62. CD "%D%" >nul 2>&1
  63. DEL /Q "%LIST%" >nul 2>&1
  64. IF /I "%~1" EQU "RECURSIVE" (Set "RECURSIVE=/S")
  65. Colous writesec "[7] Buscando archivos"    & nircmd wait 300 & cls & echo+
  66. Colous writesec "[7] Buscando archivos."   & nircmd wait 300 & cls & echo+
  67. Colous writesec "[7] Buscando archivos.."  & nircmd wait 300 & cls & echo+
  68. Colous writesec "[7] Buscando archivos..." & nircmd wait 250
  69.  
  70. :INDEX
  71. DIR /B %RECURSIVE% %FORMATS% 1> "%INDEX%" 2>NUL || (Goto :NOMUSIC)
  72. FOR /F %%# in ('Find /V /C "" ^< "%INDEX%"') do (set "TOTAL=%%#")
  73.  
  74. :FIND_BITRATE
  75. Mode con cols=30 lines=3
  76. FOR /F "tokens=*" %%# in ('DIR /B %RECURSIVE% %FORMATS%') do (
  77. cls
  78. Call set /a scanned+=1
  79. Call Colous writesec "[7] Buscando archivos... [14]%%Scanned%%[7]/[14]%TOTAL%"
  80. IF "%MAX_BITRATE%" EQU "128" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^129... ^1[3-9][0-9]... ^[2-9]..... ^[1-9]......"     >nul && (CALL :CONVERT "%%#"))
  81. IF "%MAX_BITRATE%" EQU "160" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^16[1-9]... ^1[7-9][0-9]... ^[2-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  82. IF "%MAX_BITRATE%" EQU "192" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^19[3-9]... ^[2-9]..... ^[1-9]......"                 >nul && (CALL :CONVERT "%%#"))
  83. IF "%MAX_BITRATE%" EQU "224" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^22[5-9]... ^2[3-9][0-9]... ^[3-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  84. IF "%MAX_BITRATE%" EQU "256" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^25[7-9]... ^2[6-9][0-9]... ^[3-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  85. IF "%MAX_BITRATE%" EQU "320" (mediainfo "%%#" "--Inform=General;%%BitRate%%" | FINDSTR "^32[1-9]... ^3[3-9][0-9]... ^[4-9]..... ^[1-9]......" >nul && (CALL :CONVERT "%%#"))
  86. )
  87. Goto :END
  88.  
  89. :CONVERT
  90. PUSHD "%~dp1"
  91. Title "Auto Music Converter: %~nx1"
  92. Mode con cols=80 lines=25
  93. cls
  94. FOR /F "tokens=*" %%%% in ('mediainfo "%~1" "--Inform=General;%%BitRate/String%%"') do (set "Rate=%%~%%")
  95. Colous writesec "[8]%~dp1"
  96. Colous writesec "[7] Archivo :[6] %~nx1"
  97. Colous writesec "[7] Bitrate :[6] %RATE:~0,-5% [8]>[2] %MAX_BITRATE%"
  98. Colous writesec "[8]________________________________________________________________________________"
  99. coreconverter.exe -infile="%~nx1" -outfile="%~n1.mp3" -convert_to="mp3 (Lame)" %EFFECTS% -encoding="%PROFILE%" -b %MAX_BITRATE% %BITRATE_MODE% --extracli="-q %QUALITY%" %OTHER% -channels="%CHANNELS%" -priority="%PRIORITY%" && set /a "num+=1" && Echo "%~nx1">> "%LIST%" || (CALL :ERROR "%~1")
  100. IF /I "%NORMALIZE%" EQU "YES" (
  101. Colous writesec "[2] Aplicando una ganancia de %GAIN%/10 al archivo..."
  102. mp3gain /c /r /d %GAIN% "%~n1.mp3" >nul 2>&1
  103. )
  104. Title "Auto Music Converter %CD%"
  105. DEL /Q "%temp%\%~nx1.txt" >nul 2>&1
  106. Mode con cols=30 lines=3
  107. GOTO:EOF
  108.  
  109. :ERROR
  110. CLS
  111. MODE con cols=60 lines=9
  112. color 0c
  113. Title Auto Music Converter... ERROR "%~nx1"
  114. Colous writesec "[12] No se ha podido convertir el siguiente archivo:"
  115. Colous writesec "[8] %CD%\[14]%~nx1"
  116. IF /I NOT "%RESUMEONERROR%" EQU "YES" (PAUSE)
  117. Timeout /T 60
  118. Mode con cols=30 lines=3
  119. color 07
  120. IF /I "%~x1" EQU ".MP3" (
  121. mp3val "%~1" -f           >nul 2>&1
  122. DEL /Q "%~1.bak"          >nul 2>&1
  123. DEL /Q "%temp%\%~nx1.txt" >nul 2>&1
  124. CALL :CONVERT "%~1" || (GOTO:EOF)
  125. )
  126. GOTO:EOF
  127.  
  128. :FILEEXIST
  129. IF NOT EXIST "%WINDIR%\System32\%~1" (
  130. color 0c
  131. Echo ERROR
  132. Echo Necesitas el programa %* para utilizar este script...
  133. Pause&Exit
  134. )
  135. GOTO :EOF
  136.  
  137. :NOMUSIC
  138. mode con lines=3 cols=49
  139. Title Auto Music Converter... NO MUSIC
  140. Colous writesec "[7] La carpeta no contiene archivos de audio."           & nircmd wait 500 & cls & echo+
  141. Colous writesec "[7] La carpeta no contiene archivos de audio.  [8]3..."  & nircmd wait 500 & cls & echo+
  142. Colous writesec "[7] La carpeta no contiene archivos de audio.  [8]2.."   & nircmd wait 500 & cls & echo+
  143. Colous writesec "[7] La carpeta no contiene archivos de audio.  [8]1."    & nircmd wait 500 & cls & echo+
  144. Colous writesec "[7] Bye.                                       [8]0"     & nircmd wait 500
  145.  
  146. :END
  147. IF DEFINED RECURSIVE (Echo %D% > "%CONVERTED_PATH%") ELSE (CD > "%CONVERTED_PATH%")
  148. set Num2=%num%
  149. Set /a Num2+=11
  150. Title Auto Music Converter...
  151. If exist "%LIST%" (
  152. cls
  153. color 2
  154. If %Num2% GEQ 40 (
  155. mode con cols=70 lines=44
  156. for /f "tokens=*" %%a in ('Type "%CONVERTED_PATH%"') do (Title %num% archivos convertidos. "%%a")
  157. FART.exe -q "%LIST%" \" --remove
  158. REM "
  159. sort "%LIST%" | MORE /E /C
  160. ) ELSE (
  161. mode con cols=70 lines=%num2%
  162. Colous writesec "[7] Se han convertido [10]%num%[7] archivo(s)..."
  163. for /f "tokens=*" %%a in ('Type "%CONVERTED_PATH%"') do (Colous writesec "[8] %%a\")
  164. FART.exe -q "%LIST%" \" --remove
  165. REM "
  166. sort "%LIST%"
  167. )
  168. DEL /Q "%LIST%"           >nul 2>&1
  169. DEL /Q "%CONVERTED_PATH%" >nul 2>&1
  170. DEL /Q "%INDEX%"          >nul 2>&1
  171. Colous writesec "[7] Presiona una tecla para salir del programa..."
  172. IF /I NOT "%AUTOEND%" EQU "YES" (PAUSE & EXIT) ELSE (TIMEOUT /T 60)
  173. ) ELSE (
  174. mode con lines=3 cols=65 | MORE
  175. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps."           & nircmd wait 500 & cls & echo+
  176. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps.  [8]3..."  & nircmd wait 500 & cls & echo+
  177. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps.  [8]2.."   & nircmd wait 500 & cls & echo+
  178. Colous writesec "[7] No se ha encontrado ningun audio superior a +%MAX_BITRATE% kbps.  [8]1."    & nircmd wait 500 & cls & echo+
  179. Colous writesec "[7] Bye.                                                    [8]0"     & nircmd wait 500
  180. DEL /Q "%CONVERTED_PATH%" >nul 2>&1
  181. DEL /Q "%INDEX%" >nul 2>&1
  182. )
  183.  
  184.  

Que lo disfruten!
865  Foros Generales / Sugerencias y dudas sobre el Foro / [SUGERENCIA] Actualizar normas del subforo Software en: 13 Octubre 2012, 21:30 pm
Hola,

El post de normas con chincheta creado por Novlucker no contiene ninguna norma, solo hace referencia a un link con seriales xD

Y en el subforo de "Series - Películas - Música - Juegos - Programas" el post de normas creado por Isirius , este: https://foro.elhacker.net/series_peliculas_musica_juegos_programas/normas_de_este_subforo-t206062.0.html
Está demasiado desactualizado, hace referencia a todo menos a los programas, supongo que las normas deben ser antes del cambio que se hizo para postear los programas...

En fin, eso hace que algunas personas (Yo el primero :xD) acaben metiendo la pata!



De paso aprovecho para consultar unas cosas que ya he intentado hablar con unos compañeros del foro pero no han podido confirmarmelo al 100%:

1º - ¿Se puede postear software con copyright en la sección  "Series - Películas - Música - Juegos - Programas"? ¿O también afecta a ese subforo?
2º - ¿Se puede postear una ISO o VHD de Windows en la misma sección?

PD: Gracias de nuevo a los que ya saben que les consulté.  :P

Y he visto que la sección Software se ha quedado sin moderador habitual, si necesitan ayuda con eso estaría encantado de colaborar moderando esa sección (Al mismo tiempo).

Bueno, un saludo!
866  Foros Generales / Sugerencias y dudas sobre el Foro / El software se postea en "software" o en "series-películas-juegos-programas"? en: 10 Octubre 2012, 19:55 pm
Hola,

Tengo una cantidad importante de software para compartir pero tengo la gran duda, ¿postear en "software" o en el subforo "programas"?,

sé que el foro software está más orientado a preguntas sobre software, pero al ver este post de wolfbcn en esa sección pues me desconcierta si también está orientado a compartir soft:
http://foro.elhacker.net/software/cdburnerxp_4423442_grabador_multiformato_y_gratuito_que_incluso_convierte-t371871.0.html

Por lo que yo he visto (casi siempre), en el foro "Software" es donde más se comparten programas, y que yo sepa ningún moderador los mueve al subforo (que yo sepa), en cambio en el subforo "juegos-series-etc" solo comparten música y películas, muy, muy de vez en cuando algún programa.

¿Tiene mucha importancia si posteo en "Software"?
Pregunto para no hacer las cosas mal :P

un saludo!
867  Media / Multimedia / Con que programa han echo esta animación facial? en: 8 Octubre 2012, 14:21 pm
Quisiera conseguir el software de animación facial que han utilizado para hacer este video:







Al ver ese frame del video (Minuto 0:59), me da a pensar que han usado un simple programa (Shareware, por la publicidad) en el que insertas una pista de audio, el programa la analiza y el modelo mueve los labios... así que además de divertido sería sencillo de usar, al parecer.

¿Alguien sabe algo?
¿Alguien reconoce el programa por el modelo del chico o la chica?
¿Alguna recomendación sobre programas similares SENCILLOS?


Gracias
868  Informática / Software / (Solucionado) Como monitorizar las conexiones QUE HIZO un programa en: 6 Octubre 2012, 14:52 pm
Hola,

Necesito monitorizar una conexión que hace un programa durante solamente 1-2 segundos, por eso no me sirven programas como el "TCPView" o "Mooo connection watcher", que solo monitorizan las conexiones actuales... A mi no me da tiempo a verla.

¿Como lo puedo hacer?

gracias
869  Programación / Scripting / [BATCH][APORTE] WSS (Windows Seven Shrinker). Limpiador postinstall y WINSXS en: 3 Octubre 2012, 00:24 am

Este script es un limpiador post-install de Windows 7 x64

- ¿Que quiere decir esto?
Cuando instalamos Windows 7 (sin modificar), Microsoft nos llena el sistema con sus florituras, miles y miles de archivos y carpetas extra:

  • Cursores, fuentes, Salvapantallas, temas de escritorio
  • Otros idiomas
  • Copias de seguridad
  • Sonidos, videos, y todo tipo de archivos multimedia
  • etc, etc, etc...

Todo eso es conveniente eliminarlo para ayudar a agilizar/optimizar el sistema en diversos aspectos, como por ejemplo:
  • Al escanear con un antivirus
  • Al desfragmentar
  • Al clonar el disco duro
  • Al usar el buscador de Windows
  • Simplemente para obtener más espacio libre en el disco
  • etc...

Y ese es el propósito de este script, limpiar y optimizar, quedarse con lo necesario de una instalación de Windows 7 y eliminar el resto, para siempre!.



WSS es el sustituto de mi antiguo "Windows 7 Xtreme Cleaner" ( Para abreviar lo llamaré: W7XC ), el cual era al mismo tiempo un limpiador post-install y un limpiador de basura normal.
Si alguien lo recuerda sabrá de que va la cosa: http://foro.elhacker.net/empty-t344097.0.html

En comparación con W7XC, en WSS he eliminado por completo la función de limpiador de programas y basura que tenía W7XC, Porque disponiendo de CCleaner he podido trasladar la mayoría de cosas que eliminaba W7XC a una configuración de Inclusiones para el CCleaner (Si alguien la quiere, que me lo pida), entonces ya no me hace falta usar nunca más esa función lenta de W7XC.

Así que he decidido suprimir el limpiador normal y profundizar en el limpiador post-install de W7XC y un reductor de la carpeta WINSXS, mejorandolo de arriba a abajo por completo empezando desde 0, simplificandolo, examinando manualmente las miles de carpetas de WINSXS, mucho trabajo, y este es el resultado, espero que os guste:






- ¿Que es lo que limpia o puede limpiar WSS?

Limpieza post-install:

    Limpieza de componentes activados:
  • Cliente de impresion en internet
  • Fax y scaner de Windows
  • Internet Explorer
  • Juegos de Windows
  • Puerto LPR
  • Servicios XPS
  • Tablet PC
  • Windows Media Center

    Limpieza de registro:
  • Claves de registro de esquemas de Cursores
  • Claves de registro de esquemas de sonido
  • Claves de registro de fuentes
  • Claves de registro del menu contextual (Nuevo > Archivo inutil)

    Limpieza de archivos:
  • Archivos multimedia BMP/GIF/JPG/PNG - AVI/MPG/MP4/WMV
  • Archivos temporales
  • Ayuda de Windows
  • Componentes de Windows (DVD Maker, Photoviewer, Window Mail, Wordpad, Write)
  • Cursores
  • Documentos publicos
  • Enlaces de "Enviar a..."
  • Enlaces de "Menu inicio"
  • Enlaces WEB
  • Fuentes (Menos las necesarias)
  • Gadgets
  • Idiomas
  • Licencias
  • Otros archivos
  • Salvapantallas
  • Sonidos
  • Temas de escritorio
  • Wallpapers

Reducción de la carpeta WINSXS:

  • Copias de seguridad de Archivos de localizacion MUI
  • Copias de seguridad de Archivos multimedia BMP/JPG/PNG AVI/MPG/MP4/WMV
  • Copias de seguridad de Componentes de Windows
  • Copias de seguridad de Cursores
  • Copias de seguridad de Fuentes
  • Copias de seguridad de Gadgets
  • Copias de seguridad de Idiomas
  • Copias de seguridad de la Ayuda de Windows
  • Copias de seguridad de Manifiestos correspondientes a las otras copias elminadas
  • Copias de seguridad de Salvapantallas
  • Copias de seguridad de Service Pack 1
  • Copias de seguridad de Sonidos
  • Copias de seguridad de Temas de escritorio
  • Copias de seguridad de Wallpapers
  • Copias de seguridad temporales
  • Otras copias.



Consejos de uso:
  • 1º - Instalar Windows 7 x64 de manera normal
  • 2º - Instalar las librerías necesarias, y las actualizaciones deseadas desde Windows Update (Y Reiniciar el PC para aplicar las actualizaciones!)
  • 3º - Usar Windows Seven Shrinker x64



Sobre la limpieza normal tengo que decir que no es en ningún caso dañiña, pero es posible que prefieras mirar detalladamente los "componentes de windows" que se deshabilitan y los que se eliminan por completo en el script antes de usarlo si quizás no te interesa que se elimine uno en particular. Los que se eliminan los he nombrado arriba y los que se deshabilitan están en la configuración del script...

Y sobre la reducción de la carpeta WINSXS, ES MUY IMPORTANTE entender los riesgos que puede conllevar una limpieza de la carpeta WINSXS ya que esto puede afectar de forma distinta dependiendo de las características de un PC.
Es posible que no puedas instalar varias actualizaciones de Windows Update después de una limpieza de la carpeta WINSXS, por eso recomiendo instalarlas primero.

NO ME HAGO RESPONSABLE EN NINGÚN CASO DE UN POSIBLE FALLO EN EL ENTORNO DE WINDOWS DESPUÉS DE UNA REDUCCIÓN DE LA CARPETA WINSXS CON ESTE SCRIPT




   

   



DESCARGA

El código pesa mucho, más de 1 MB y contiene casi 10.000 lineas de código,
Todos los servicios online como "pastebin.com" son muy restrictivos, así que no me ha quedado más remedio que subirlo aquí:
http://exoshare.com/download.php?uid=08ESJATX


Un saludo.[/list][/list][/list]
870  Programación / Scripting / [BATCH] [APORTE] Rutina TEXTMAN para manipular archivos de texto en: 2 Octubre 2012, 15:58 pm
Las dudas más frecuentes sobre Batch suelen ser sobre la manipulación de texto, así que he creado esta rutina para que tengan esta pequeña ayuda.

A diferencia del 99% de rutinas parecidas a esta, mi código respeta los caracteres especiales al no usar la expansión. Por contra, resulta más lento el proceso.

 - ¿Que funciones tiene?
  • AÑADIR TEXTO AL PRINCIPIO DE UNA LÍNEA
  • AÑADIR TEXTO AL FINAL DE UNA LÍNEA
  • ELIMINAR UNA LINEA
  • INSERTAR UNA LINEA (VACÍA O CON TEXTO)
  • REEMPLAZAR UNA LINEA
  • REEMPLAZAR PALABRAS DE UNA LINEA
  • REEMPLAZAR PALABRAS EN TODAS LAS LINEAS
  • ELIMINAR LOS PRIMEROS "X" CARACTERES EN TODAS LAS LÍNEAS
  • ELIMINAR LOS ÚLTIMOS  "X" CARACTERES EN TODAS LAS LÍNEAS
  • CORTAR LAS PRIMERAS "X" LÍNEAS
  • CORTAR LAS ÚLTIMAS  "X" LÍNEAS

Por ejemplo, para eliminar la linea 5 en un archivo de texto lo usariamos así:

Código:
Call :TEXTMAN E 5 "Archivo.txt"

Léanse la ayuda que está escrita dentro del código antes de usarlo.

Espero que a alguien le sirva de ayuda.
Saludos.



Versión 0.2, corregido un fallo en la función de L-
Versión 0.5

Código:
@Echo OFF


:: TEXT MANIPULATOR ROUTINE v0.5
:: by Elektro H@cker
 

REM SYNTAX:
::
:: TEXTMAN [ACTION] [LINE(S)] [FILE] [TEXT]
::
:: * [LINE(S)] parameter is Optional for some actions
:: * [TEXT] parameter is Optional for some actions
 

REM ACTIONS:
::
::  AB  = ADD_BEGINNING      * Add text to the beginning of a line.
::  AE  = ADD_ENDING         * Add text to the end of a line.
::  E   = ERASE              * Delete a line.
::  I   = INSERT             * Add a empty line (Or a line with text).
::  RL  = REPLACE_LINE       * Replace a entire line.
::  RS  = REPLACE_STRING     * Replace word from line.
::  RSA = REPLACE_STRING_ALL * Replace word from all lines.
::  C+  = CHARACTER_PLUS     * Delete the first "X" characters from all lines.
::  C-  = CHARACTER_LESS     * Delete the last  "X" characters from all lines.
::  L+  = LINE_PLUS          * Cut the first "X" amount of lines.
::  L-  = LINE_LESS          * Cut the last  "X" amount of lines.
::  GL  = GET_LINE           * Delete all except "X" line.
::  GR  = GET_RANGE          * Delete all except "X" range of lines.
 

REM EXAMPLES:
::
:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::
::                                                                         ::
:: Delete the line 3                                                       ::
:: Call :TEXTMAN E 3 "Test.txt"                                            ::
::                                                                         ::                                                                       
:: Add a string to the beginning of line 3                                 ::
:: Call :TEXTMAN AL 3 "Test.txt" "Elektro H@cker"                          ::
::                                                                         ::                                                                     
:: Add a string to the end of line 3.                                      ::
:: Call :TEXTMAN AR 3 "Test.txt" "Elektro H@cker"                          ::
::                                                                         ::                                                                       
:: Add a empty line at line 3.                                             ::
:: Call :TEXTMAN I 3 "Test.txt"                                            ::
::                                                                         ::                                                                       
:: Add a line with a word at line 3.                                       ::
:: Call :TEXTMAN I 3 "Test.txt" "Elektro H@cker"                           ::
::                                                                         ::   
:: Replace the line 3 with "Elektro H@cker".                               ::
:: Call :TEXTMAN RL 3 "Test.txt" "Elektro H@cker"                          ::
::                                                                         ::
:: Replace the words "Elektro" to "H@cker" in line 3.                      ::
:: Call :TEXTMAN RS 3 "Test.txt" "Elektro" "H@cker"                        ::
::                                                                         ::
:: Replace the words "Elektro" to "H@cker" in all lines.                   ::
:: Call :TEXTMAN RSA "Test.txt" "Elektro" "H@cker"                         ::
::                                                                         ::
:: Delete the first 3 characters in all lines.                             ::
:: Call :TEXTMAN C+ 3 "Test.txt"                                           ::
::                                                                         ::
:: Delete the last 3 characters in all lines.                              ::
:: Call :TEXTMAN C- 3 "Test.txt"                                           ::
::                                                                         ::
:: Delete the first 3 lines.                                               ::
:: Call :TEXTMAN L+ 3 "Test.txt"                                           ::
::                                                                         ::
:: Delete the last 3 lines.                                                ::
:: Call :TEXTMAN L- 3 "Test.txt"                                           ::
::                                                                         ::
:: Delete all except the line number 3.                                    ::
:: Call :TEXTMAN SL 3 "Test.txt"                                           ::
::                                                                         ::
:: Delete all except the 3 to 9 range of lines.                            ::
:: Call :TEXTMAN SR 3 9 "Test.txt"                                         ::
::                                                                         ::
:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: ::
 

:TEXTMAN
(SET /A "A=0", "LINE=0", "TOTAL_LINES=0")  &  (CALL :%~1 %* || (ECHO Invalid parameter & Exit /B 1)) & (GOTO:EOF)
:AB
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF NOT "%%LINE%%" EQU "%~2" (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)>> "%~3.NEW")) ELSE (if "%%B" EQU "" ((Echo %~4)>> "%~3.NEW") ELSE ((Echo %~4%%B)>> "%~3.NEW"))"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:AE
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF NOT "%%LINE%%" EQU "%~2" (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)>> "%~3.NEW")) ELSE ((Echo %%B%~4)>> "%~3.NEW")"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:E
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF NOT "%%LINE%%" EQU "%~2" (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B) >> "%~3.NEW"))"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:I
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF     "%%LINE%%" EQU "%~2" (IF NOT "%~4" EQU "" ((Echo %~4) >> "%~3.NEW") ELSE (Echo+>> "%~3.NEW"))" & (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)>> "%~3.NEW"))))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:RL
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF NOT "%%LINE%%" EQU "%~2" (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)>> "%~3.NEW")) ELSE ((Echo %~4)>> "%~3.NEW")"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:RS
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "IF NOT "%%LINE%%" EQU "%~2" (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)>> "%~3.NEW")) ELSE (CALL SET "STRING=%%B" &&     (if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((CALL ECHO %%STRING:%~4=%~5%%)>> "%~3.NEW")))"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:RSA
(For /F "tokens=1* delims=]" %%A in ('type "%~2" ^| find /n /v ""') DO (CALL SET "STRING=%%B" && (if "%%B" EQU "" (Echo+>> "%~2.NEW") ELSE ((CALL ECHO %%STRING:%~3=%~4%%)>>"%~2.NEW")))) && (CALL :RENAMER "%~2") & (GOTO:EOF)
:C+
(For /F "usebackq tokens=*" %%@ in ("%~3") DO (Call Set   "LINE=%%@" && (CALL ECHO %%LINE:~%~2%% >>      "%~3.NEW"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:C-
(For /F "usebackq tokens=*" %%@ in ("%~3") DO (Call Set   "LINE=%%@" && (CALL ECHO %%LINE:~0,-%~2%% >>   "%~3.NEW"))) && (CALL :RENAMER "%~3") & (GOTO:EOF)
:L+
(Call SET /A "A=%~2") && (Call TYPE "%~3" |@MORE +%%A%% > "%~3.NEW") && (CALL :RENAMER "%~3") & (GOTO:EOF)
:L-
(For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (CALL SET /A "TOTAL_LINES+=1")) & (CALL SET /A "TOTAL_LINES-=%~2-1") & (For /F "tokens=1* delims=]" %%A in ('type "%~3" ^| find /n /v ""') DO (Call Set /A "LINE+=1" & Call echo "%%LINE%%"|@FIND "%%TOTAL_LINES%%" >NUL) && (CALL :RENAMER "%~3" && GOTO:EOF) || (Echo %%B >> "%~3.NEW"))
:GL
(Call SET /A "A=%~2" && Call SET /A "A-=1") && (Call TYPE "%~3" |@MORE +%%A%% > "%temp%\getline.tmp") && (For /F "tokens=1* delims=]" %%A in ('type "%temp%\getline.tmp" ^| find /n /v ""') DO ((if "%%B" EQU "" (Echo+>> "%~3.NEW") ELSE ((Echo %%B)> "%~3.NEW"))) && ((CALL :RENAMER "%~3") & (GOTO:EOF)))
:GR
(For /F "tokens=1* delims=]" %%A in ('type "%~4" ^| find /n /v ""') DO (Call Set /A "LINE+=1" && (CMD /C "(IF "%%LINE%%" GEQ "%~2" IF "%%LINE%%" LEQ "%~3" (if "%%B" EQU "" (Echo+>> "%~4.NEW") ELSE ((Echo %%B)>> "%~4.NEW"))) && (IF "%%LINE%%" EQU "%~3" Exit /B 1)" || ((CALL :RENAMER "%~4") & (GOTO:EOF)))))

:RENAMER
(REN "%~1" "%~nx1.BAK") & (MOVE /Y "%~1.BAK" "%TEMP%\" >NUL) & (REN "%~1.NEW" "%~nx1") & (GOTO:EOF)
Páginas: 1 ... 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 [87] 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 ... 105
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines