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 - Eleкtro

#10901
Scripting / Re: ayuda para hacer un batch
24 Mayo 2012, 16:47 PM
Cita de: desdemx en 24 Mayo 2012, 16:40 PM¿estos con que extensión los guardo y que programa debo de tener para poder ejecutarlos?

Si quieres usar el code de Runex, El archivo se guarda como ARCHIVO.PY, Y necesitas Python.
http://www.python.org/download/

Si quieres usar el último code que puse, El archivo se guarda como ARCHIVO.RB, Y necesitas Ruby...
http://www.ruby-lang.org/es/downloads/

El código en Batch seguramente te esté dando problemas por el límite de recursividad (Demasiadas llamadas "CALL") Intentaré arreglarlo a ver...

EDITO: ¿Es este el error que te da?

******  RECURSIÓN DE ARCHIVO POR LOTES supera los límites de la PILA ******
Recuento de recursiones=302,Uso de la pila=90 por ciento
******     SE ANULA  EL PRECESAMIENTO DEL ARCHIVO POR LOTES       ******


Saludos
#10902
Scripting / Re: ayuda para hacer un batch
24 Mayo 2012, 15:13 PM
Cita de: Runex en 24 Mayo 2012, 14:11 PM
Y ésta sería otra alternativa haciendo uso de split, como dice mi compañero Elektro
Código (python) [Seleccionar]
lista = archivo.read().split("|")

Maldita séa, De verdad que me da mucha rabia que Batch no tenga algo así... No creo que séa tan dificil de integrar una funcion de "split" por parte de Microsoft...

Bueno, Aquí lo dejo en Ruby, Ya que estamos:

Código (ruby) [Seleccionar]
# -*- coding: UTF-8 -*-

archivo = 'archivo.txt'
File.open(archivo, "r").each_line { |bloque|
puts bloque.split('|')
}


Saludos
#10903
Scripting / Re: ayuda para hacer un batch
24 Mayo 2012, 09:41 AM
Cita de: desdemx en 23 Mayo 2012, 21:49 PMen algunos también hay texto, así que no solo son segmentos de puros numero, sino en algunos están combinados.

El siguiente código separa los bloques cuando encuentra el caracter "|", Así que es independiente de si son números o texto... pero si algún bloque contiene un espacio, es posible que de error.

@Echo OFF

:: editado, versión 2 del code
:: Foro.ElHacker.Net

setlocal enabledelayedexpansion

For /F "tokens=*" %%# in ('Dir /B "*.txt" ^| FIND /V "NUEVO"') do (
For /F "tokens=*" %%a in ('type "%%#"') do (
Set /A Next=0
Echo %%#:
Echo __________________ | MORE
Set "String=%%a"
ECHO !String!> "%TEMP%\temp.txt"
FOR %%? IN (%TEMP%\temp.txt) DO (SET /A longitud=%%~z? - 2)
Call :Loop
Echo+
)
)
Goto :FIN

:Loop
For /F "tokens=*" %%a in ('Echo "%STRING%"') do (
Set /A Next+=1
If !NEXT! GTR %LONGITUD% (Goto :EOF)
Echo "!STRING:~%NEXT%,1!" | FINDSTR "|" >NUL
If !Errorlevel! EQU 1 (
Set "BLOCK=!BLOCK!!STRING:~%NEXT%,1!"
) ELSE (
If Defined BLOCK (Echo !BLOCK:^|=!^| & Echo !BLOCK:^|=!^|>>"%%~n#_NUEVO.txt")
Set "BLOCK=!STRING:~%NEXT%,1!"
)
Call :Loop
)
Goto :EOF


:FIN
Pause
Exit


EDIT:


PD: Joder, lo facil que seria hacer esto en ruby con un "split" o en python xD

Saludos
#10904
Windows / Re: Desinstalar Games
24 Mayo 2012, 09:00 AM
DESACTIVAR Juegos de Windows.bat

Código (dos) [Seleccionar]
@echo off
dism /online /disable-feature /featurename:InboxGames /quiet /norestart
dism /online /disable-feature /featurename:"More Games" /quiet /norestart
dism /online /disable-feature /featurename:"Internet Games" /quiet /norestart
exit



Saludos
#10905
Scripting / Re: ayuda para hacer un batch
23 Mayo 2012, 20:16 PM
Si, un contador para mostrar solo los números... cuando tenga un rato lo hago si no se me adelanta alguien.

salu2
#10906
Cyrus
Cyrux

OpenCyrus
OpenCyrux




Citar
  -Código abierto (Linux).
  -Orientado a la web (plataforma para webapps).
  -Sincroniza apps a través de la nube.
  -Multiplataforma.
+ -Otra característica que se te ocurra.


 COSMO   (OS)
(Con eso haces un marketing que te cagas xD)

Saludos.
#10907
Scripting / Re: ayuda para hacer un batch
23 Mayo 2012, 19:35 PM
Quizás no es el code más perfecto (Demasiado código), pero hace lo que pides.

Código (dos) [Seleccionar]
@Echo OFF

:: Foro.ElHacker.Net

For /F "tokens=*" %%# in ('Dir /B "*.txt"') do (
For /F "tokens=*" %%a in ('type "%%#"') do (
Echo %%#: | MORE
Set "String=000^|%%a"
Set /A Next=2
Call :Loop
Echo __________________ | MORE
)
)

Pause
Exit

:Loop
For /F "tokens=%Next%,1,* delims=|" %%a in ('Echo "%STRING%"') do (
Set /A "BLOCK=%%b" 2>NUL
Echo %%b | FINDSTR "[0-9]"  || (Goto :EOF)
Set /A Next+=1
Call :Loop
)




PD: Otra forma seria usar un FOR + Un Contador, Para ir mostrando cada bloque en 4x4 caracteres del texto.
Código (dos) [Seleccionar]
Echo %Var:~4,4%
Echo %Var:~8,4%
Echo %Var:~12,4%
Etc...


Saludos.
#10908
Cita de: Runex en 23 Mayo 2012, 16:13 PM
Escapa las comillas \" :)
Cita de: Seazoux en 23 Mayo 2012, 16:14 PM
se ve que si funciona.

La forma de escapar un caracter en Batch, Por ejemplo una comilla doble es así: ^"
Con el caracter: ^

Solo hay 3 o 4 excepciones, Comandos como WMIC, REG, SCHTASKS, Y alguno que me estoy olvidando, Donde si es necesario escapar como comentó Runex. Pero en los demás no. (Lo sé, Batch es raro... xD).

Edito: ah, y sobre los acentos, tanto una vocal con acento como un acento suelto son caracteres latinos... Así que para mostrar una "ó" o un "´" no hay que escapar, Hay que usar el código de páginas correcto. (CHCP), O usar copy con

Saludos
#10909
Scripting / Re: Problemilla con VBS
23 Mayo 2012, 07:58 AM
Cita de: Seazoux en 23 Mayo 2012, 07:44 AM
EDIT: A ver si me puedes resolver mi otro tema. Es qe tengo una solución un poco mala.
Pero necesito opciones, porque lo que yo peinso es dejar una aplicacion nada mas. Para hacerla en HTA y otra en BATCH.

De HTA y PHP no tengo ni idea xD, Mejor dejemos que lo intenten resolver los expertos ::)

Además, Eso de "dos apartados" que intentas hacer con batch no lo entiendo en tu otro tema :P

Saludos