Acciones sobre archivos de texto. [Batch]

Iniciado por leogtz, 24 Enero 2009, 00:30 AM

0 Miembros y 1 Visitante están viendo este tema.

wigo69

disculpa mi pregunta funciona y super bien muchisimas gracias por tu ayuda :) ahora estare actualizando y viendo esta pagina no la conocia y es super buena, de verdad muchas gracias por tu tiempo :)

adios cuidate mxo :)

leogtz

Estás haciéndolo bien.

Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
for /f %%_ in ('type file.txt ^| find /v /c ""') do set /a n_lines=%%_, medio=n_lines / 2
set i=0
for /f "tokens=*" %%_ in (file.txt) do (
set /a i+=1
if !i! leq !medio! (echo %%_ >> temp1.txt) else (echo %%_ >> temp2.txt)
)


file.txt tiene las líneas que quieres dividir.

La primera mitad la tiene "temp1.txt", la segunda "temp2.txt".

Tienes que tener en cuenta en que el script agrega siempre, así que a cada corrida del script tiene que borrar antes temp1.txt y temp2.txt ya que siempre estará agregando. Pruebalo y me cuentas.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

wigo69

si si funciono super bien fue por que ando matando moscas xD muchísimas gracias por todo de verdad no conocía esto y realmente me gusto estaré visitando esta pagina para actualizar mi conocimiento.

agradezco mucho tu tiempo.

cuídate mucho y que dios te Bendiga

PTT69

#143
Hola leo, tengo una duda que no pude solucionar con los codigos
de la primera página

cómo puedo hacer que cambie "una" sola palabra a mayuscula y no todo
el texto?

ejemplo

"La depresión es la forma mas común del sufrimiento mental. Que es la depresión? Los test para la depresión causante de serios problemas"

cambiemos depresión

"La DEPRESION es la forma mas común del sufrimiento mental. Que es la DEPRESION? Los test para la DEPRESION causante de serios problemas"

Cuando hago esto:

:silbar:

Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt
goto:eof

no me deja pasar al codigo
:¬¬

Código (dos) [Seleccionar]
@echo off
echo Palabra depresión Sale:
type texto.txt | find /i /c "depresión"

pause


para contar la cantidad

Si me puedes ayudar porfavor, de antemano muchas gracias  :rolleyes:

PTT69

#144
lo deje asi:

Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt

@echo off
echo Palabra depresión Sale:
type texto.txt | find /i /c "depresión"
pause
goto:eof

y me sale :

palabra depresion sale:  :o
0
presione una tecla.....
palabra depresion sale:  :¬¬
2
presione una tecla......

como hacerlo sin goto:eof, esto está fallando  :-\

SuperDraco

#145
Cita de: PTT69 en  7 Julio 2011, 03:19 AM
lo deje asi:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type texto.txt') do (
set linea=%%x
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
goto:eof
:show
echo %* >> out.txt

@echo off
echo Palabra depresión Sale:
type texto.txt | find /i /c "depresión"
pause
goto:eof

y me sale :

palabra depresion sale:  :o
0
presione una tecla.....
palabra depresion sale:  :¬¬
2
presione una tecla......

como hacerlo sin goto:eof, esto está fallando  :-\

Como hacer sin goto:eof, ¿El que?

No se porque dices que no funciona?


Código (dos) [Seleccionar]
@echo off
setlocal enabledelayedexpansion


REM Visita Foro.ElHacker.Net


echo Palabra "Depresi¢n" Sale:
type texto.txt | find /i /c "depresión"

for /f "Tokens=*" %%a in ('type texto.txt') do (
set linea=%%a
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)

pause >nul

:show
echo %* >> out.txt
goto:eof


Lowerit.exe - Convierte texto a minúsculas.

Upperit - Convierte texto a MAYÚSCULAS.


http://foro.elhacker.net/scripting/batch_packs_de_aplicaciones_varias_commandlineinterface_actualizado_05mayo-t322976.0.html
No he vuelto, solo estoy de paso.

leogtz

El código de pitoloko funciona, lo he probdo.
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

PTT69

#147
A mi no me funciona, me dice depresión sale 2 y en verdad son 3
pero en fin, a lo que voy es que la idea es hacer el mayúscula en primer lugar, después de ese código hacer el resto, me explico:

Primero la mayúscula:  :silbar:

@echo off
setlocal enabledelayedexpansion
for /f "Tokens=*" %%a in ('type texto.txt') do (
set linea=%%a
set linea=!linea:depresión=DEPRESION!
call :show !linea!
)
pause >nul
:show
echo %* >> out.txt
goto:eof

Seguir con el contar Lineas ::)

@echo off
echo Total de Lineas:
type out.txt | find /v /c "" < out.txt
pause

Y terminar con cantidad de palabra DEPRESION  :o

@echo off
echo Palabra depresion Sale:
type out.txt | find /i /c "DEPRESION"

pause

Gracias Pitoloko, pero no me funk  :rolleyes:

primero me cuenta la palabra, sale 2, son 3, y despues me cambia a mayus, la idea es hacer lo contrario, primero la mayus, y seguir con los codigos hacia abajo.

alguna idea?  :-\

leogtz

Cita de: PTT69 en  7 Julio 2011, 19:38 PM
type out.txt | find /v /c "" < out.txt


Eso está mal, debería ser así:
Código (dos) [Seleccionar]
type out.txt | find /v /c ""
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

PTT69

Así esta la cosa



Borré lo que me dijiste
Lo ejecuto y me sale nada:



Después aprieto Enter y se cierra, y tambien genera el archivo out.txt
donde me cambia a mayus y borra los saltos de línea



La idea no es cambiar el orden de los códigos, ese es el drama  :-\