elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:47  


Tema destacado: Únete al Grupo Steam elhacker.NET

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  Acciones sobre archivos de texto. [Batch]
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] Ir Abajo Respuesta Imprimir
Autor Tema: Acciones sobre archivos de texto. [Batch]  (Leído 54,309 veces)
ariel_fnx

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #195 en: 7 Enero 2012, 04:04 »

Hola Leo. Tuve que salir a la tarde y recién llego a casa. La verdad que me sorprendiste al ver que ya lo habías resuelto. Nuevamente lo digo, sos realmente bueno en lo tuyo.
Ahora voy a probarlo y luego te cuento cómo me fue.
Mil millones de gracias, no te das una idea la mano que me diste.
Hasta luego. Un abrazo.-


En línea
ariel_fnx

Desconectado Desconectado

Mensajes: 4


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #196 en: 9 Enero 2012, 17:36 »

Hola Leo. El código que me pasaste junto al programa que hiciste en C para calcular los precios unitarios funciona a la perfección, y he podido hacer andar la impresora fiscal correctamente.
Dos millones de gracias por tu ayuda y por tu tiempo.
Sólo me resta seguir aprendiendo.
Gracias y éxitos.-


En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #197 en: 9 Enero 2012, 20:36 »

De nada, saludos.
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
Demente117

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #198 en: 15 Enero 2012, 02:15 »

Hola soy nuevo, primero no se si va aki en este pagina pero creo que si, perdonad por si me "ekivoko".
tengo 2 dudas




1. Voy a intentar explikarme, creo que es sencillo (supongo!!!) quiero hacer una lista como en el comando dir /b pero que incluya las subcarpetas tambien.
me explico: quiero conseguir hacer

@echo off
dir /b /s>"nombre de archivo.txt"

pero que el resultado no incluya las rutas de los archivos, como hace por defecto

@echo off
dir /b>"nombre del archivo.txt"

en definitiva pretendo hacer que quede solo el nombre del archivo en cada linea

he estado modificando (por que para crear no es que sea muy bueno) el codigo

@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type nombre.txt') do (
set linea=%%x
set linea=!linea:C:\Prueba=!
call :show !linea!
)
:show
echo.%* >> nombre2.txt

pero no consigo mi proposito, mi idea es hacer una lista.txt y luego modificar el archivo quitando hasta el ultimo caracter "\" de las rutas pero no consigo hacer bien el codigo por que si cambio la carpeta donde ejecuto el bat, como tiene otra ruta no me sirve, tengo que hacer otros muxos bats para mi proposito lo kual es muuuuuu costosssoooooooo jejejejej

ALGUIEN me podria ayudar??
espero haberme explikado bien, mis preguntas serian:

1 ¿¿¿¿con el codigo anterior se podria hacer?????
¿¿¿¿se podria especificar que quiero cambiar todo lo que haya hasta el ultimo "\"????


2 ¿¿ se podria cambiar mas de una palabra en concreto con el mismo codigo anterior?? 
ejemplo para que me entendais mejor:

@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type nombre.txt') do (
set linea=%%x
set linea=!linea:  .avi   .mpg   .mkv=!
call :show !linea!
)
:show
echo.%* >> nombre2.txt


algo asi, que por ejemplo si se trata de una terminacion de archivo que no solo sea un tipo que sean todos los posibles.


ojala me pudierais ayudar!!!!!
espero que si no he puesto este mensaje en mal sitio no tengo ni idea, me acabo de registrar para ver si alguien me puede ayudar con esto, es el primer cuadro de texto que he visto.
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #199 en: 15 Enero 2012, 02:18 »

Edita tu mensaje y pon el código con sus respectivas etiquetas para que se te pueda ayudar, o me veré en la penosa necesidad de eliminar el mensaje ya que no cumple las reglas (hay que leerlas).

Saludos.
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
Demente117

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #200 en: 15 Enero 2012, 02:38 »

PERDON por si me equivoko otra vez

documento original lo kreo haciendo un bat
@echo off
dir /b /s>Peliculas.txt
lo ejecuto en la raiz de mi disco duro y me sale la lista que quiero,

H:\Peliculas\El asesino del calendario .film
H:\Peliculas\El guerrero n§ 13 .film
H:\Peliculas\Harry Potter 7 .film
H:\Peliculas\Ip man (Maestro y mentor de Bruce Lee) .film
H:\Peliculas\Jugar duro .film
H:\Peliculas\La Dama del Lago .film
H:\Peliculas\La Saga Crepusculo .film
H:\Peliculas\Mongol .film
H:\Peliculas\Resacon 2 .film
H:\Peliculas\A\Algo pasa en las Vegas .film
H:\Peliculas\A\Ali G         Anda suelto .film
H:\Peliculas\A\Almas Condenadas .film
H:\Peliculas\A\Amores Perros .film
H:\Peliculas\A\Ana Karenina .film
H:\Peliculas\A\Analfabeto .film
H:\Peliculas\A\Angeles Caidos .film
H:\Peliculas\A\Aprendiz de Brujo .film
H:\Peliculas\A\Aprendiz de Caballero .film


pero me gustaria que kedara asi


El asesino del calendario .film
El guerrero n§ 13 .film
Harry Potter 7 .film
Ip man (Maestro y mentor de Bruce Lee) .film
Jugar duro .film
La Dama del Lago .film
La Saga Crepusculo .film
Mongol .film
Resacon 2 .film
Algo pasa en las Vegas .film
Ali G         Anda suelto .film
Almas Condenadas .film
Amores Perros .film
Ana Karenina .film
Analfabeto .film
Angeles Caidos .film
Aprendiz de Brujo .film
Aprendiz de Caballero .film


quitando todas rutas de mis carpetas, mi problema es ese mismo
tengo mi disco duro con una carpeta dentro que pone peliculas, y dentro de esta
distribuida asi

Peliculas
//
0-9
0-9 Dibujos
A
A Dibujos
B
B Dibujos


y mi segunda pregunta era esta
@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%x in ('type Peliculas.txt') do (
set linea=%%x
set linea=!linea:.avi.mpg.mp4.mpeg.mkv.film=!
call :show !linea!
)
:show
echo. %* >> Peliculas3.txt
perdon si me vuelvo a equivocar y no es esto lo que me estavas preguntando
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #201 en: 15 Enero 2012, 03:05 »

No, no es lo que te estaba diciendo, cuando uno se registra en un foro, debe de leerse las reglas del foro, y del subforo. Pero bueno, te la paso por esta vez, para la otra simplemente tu mensaje se eliminará.

Lo que te pedía es que el código debe de ponerse con su debido formato:

echo hola
Utilizando el GeSHi del editor de mensajes quedaría así:

Código
echo hola

Respecto al código, se puede utilizar algo así:

Código
@echo off
for /r c:\users\leo\batch\Peliculas %%_ in (*.*) do (
echo "%%~nx_"
)

Siendo "c:\users\leo\batch\Peliculas" lo que tienes que cambiar a a la ruta donde están tus películas.

Sobre tu segunda duda, no, no se puede, tienes que hacerlo uno por uno. Pon un ejemplo y lo resolvemos.
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
Demente117

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #202 en: 15 Enero 2012, 03:24 »

Gracias, muchas gracias Leo, si funciona, ala perfeccion muxisimas gracias

perdon por mi ignorancia voy a leerme las normas, espero preguntar algo correctamente a la proxima. (si vuelvo a necesitar ayuda) de nuevo MUXISIMAS GRACIAS
En línea
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #203 en: 15 Enero 2012, 03:27 »

De nada. Saludos.  :)
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
TheTroyanDark

Desconectado Desconectado

Mensajes: 141


Echo "Aprendiendo Batch."


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #204 en: 21 Enero 2012, 23:44 »

Hola a todos, tengo una duda al trabajar con archivos de texto.

Tengo dos .txt y quiero que se imprima un tercer .txt con la linea de la primero y segundo archivo, te ilustro un ejemplo.

1.txt
Citar
Palabra uno
Palabra dos
Palabra tres

2.txt
Citar
Verbo uno
Verbo dos
verbo tres

Y de resultado en el Tercer txt quedaría así.

3.txt
Citar
Palabra uno Verbo uno
Palabra dos Verbo dos
Palabra tres Verbo tres

Alguna soluciona para ello.

Salu2  :huh:
En línea

"Pensando en Batch" XD
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #205 en: 22 Enero 2012, 23:03 »

Esto me funciona:

Código
C:\Users\leo\batch>type 1.txt
Palabra uno
Palabra dos
Palabra tres
 
C:\Users\leo\batch>type 2.txt
Verbo uno
Verbo dos
verbo tres
 
C:\Users\leo\batch>code.cmd
 
C:\Users\leo\batch>type final.txt
Palabra uno Verbo uno
Palabra dos Verbo dos
Palabra tres verbo tres
 
C:\Users\leo\batch>

Código
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%_ in ('type "1.txt" ^| find /v /c ""') do set n_lines=%%_
 
for /l %%_ in (1,1,%n_lines%) do (
call:getLine %%_ "1.txt"
set a=!text!
call:getLine %%_ "2.txt"
set b=!text!
echo !a! !b! >> final.txt
)
exit /b 0
 
:getLine
set n=%1
if "%2"=="" (
echo Error, se necesitan dos parámetros
exit /b 1
)
set /a cont=0
for /f "tokens=*" %%_ in ('type "%2"') do (
set /a cont+=1
if !cont! equ !n! (
set "text=%%_"
goto:eof
)
)
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
TheTroyanDark

Desconectado Desconectado

Mensajes: 141


Echo "Aprendiendo Batch."


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #206 en: 23 Enero 2012, 00:42 »

Hola Leo gracias, también encontré esta solución.

Código:
@echo off
setlocal EnableDelayedExpansion

set i=0
for /F "delims=" %%a in (txt1.txt) do (
    set /A i+=1
    set t1[!i!]=%%a
)
set i=0
for /F "delims=" %%a in (txt2.txt) do (
    set /A i+=1
    set t2[!i!]=%%a
)
for /L %%i in (1,1,%i%) do echo !t1[%%i]! !t2[%%i]!>> txt3.txt

Salu2 :adios:
En línea

"Pensando en Batch" XD
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Moderador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #207 en: 23 Enero 2012, 00:54 »

Ya veo, la solución es mucho más corta, ya que usa arrays, en mi caso usé una pequeña función :D

Saludos
En línea

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

leorocko13@hotmail.com
https://github.com/leogtzr/
TheTroyanDark

Desconectado Desconectado

Mensajes: 141


Echo "Aprendiendo Batch."


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #208 en: 23 Enero 2012, 01:29 »

Si me salio mas corto  ;D Ademas es muy practico porque si se quiere agregar un documento de texto mas solo se debe crear otro array Voy a ver que as se me ocurre para que lo listemos en este tema.

También quería felicitarte por el gran trabajo que haces en este foro y en todos los otros. ;-)

Salu2.
En línea

"Pensando en Batch" XD
leb

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Acciones sobre archivos de texto. [Batch]
« Respuesta #209 en: 31 Enero 2012, 23:15 »

podrían ayudarme en el siguiente ejercicio?

Un bat que reproduzca una versión del cumpleaños feliz (por ejemplo en mp3) cuando el usuario que inicie la sesión cumpla años. Para ello, contamos con el fichero ‘Nacimientos.txt’ donde guardamos la fecha de nacimiento de cada usuario. El formato de cada entrada será:

Lmartin:dd/mm/aaaa
« Última modificación: 31 Enero 2012, 23:28 por leb » En línea
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines