Desde 1994 en la Red. La pagina de los aficionados a la electronica, informatica y otras curiosidades de la vida. No dudes en visitarnos.
Ahora 1 visitas.| 3484499 Visitas (desde Dic. 2011), hoy: 327 Visitas 1000 Pag. Vistas , ultimos 36 dias: 11188 Visitas. 38212 Pag. Vistas. Tu IP: 3.133.109.58
Que ando curioseando:
AutosuficienciaCosas de casaElectronicaEn InternetInformáticaMundo MisticoSin categoríaSociedadTe lo recomiendo

Leer texto desde un fichero BAT

Ms-Dos aun existe bajo esa cara que se llama Windows…

Cuando un ordenador muestra la inforamcion lo hace por la pantalla (dispositivo MSDOS “CON”), asi mismos cuando le pidimos algo, lo hacemos por la pantalla (dispositivo MSDOS “CON”). Es decir un ordenado con MSDOS tiene el dispositivo estándar CON para recibir peticiones y emutir resultados, esto por defecto (default option). Pero esto se puede modificar con los redirectores….

Dirigir salida (>)
Su sintaxis seria COMANDO [PARAMETROS_COMANDO] > [FICHERO | DISPOSITIVO]

Ejemplos:
Dir clasifica.txt > lpt1
Nos manda el contenido del fichero txt al purto paralelo 1

Dir c:\*.* > d:\directorio.txt
Nos manda la salida del comando dir al fichero directorio.txt que esta en el disco d:, si dicho fichero existe lo reinicia.

Dir c:\*.* >>d:\directorio.txt
Nos manda la salida del comando dir al fichero directorio.txt que esta en el disco d: si dicho fichero existe, añade la informacion al fiinal del mismo, si no existe lo crea

Dirigir entrada (<)
Su sintaxis seria COMANDO [PARAMETROS_COMANDO] < [FICHERO | DISPOSITIVO]

Ejemplos:
More <clasificacion.txt
Nos muestra el fichero clasificacion.txt en pantalla realizando una pausa cada vez que se llan la misma

Sort <personal.txt > personal_ord.txt
Nos claifica el fichero de entrada personal.txt y nos lo guarda ya ordenado en el fichero personal_ord.txt

Dirigir entrada y salida (|)
Sinstaxis COMANDO | COMANDO
La salida del comando 1 es la entrada (parametros) del coando 2

Ejemplo:

Type fichero.txt |more
Nos muestra con pausa en pantalla el fichero.xt

Dir |more
Nos mustra la salida del comando dir (que por defecto es a pantalla, fichero CON), realizando una pausa en cada pantalla

Generalmente se usan > y >> para la generacion de ficheros de log, en los prgramas bat’s de copia de ficheros, instalaciones ect…

PARAMETROS % y %%

Los parámetros son informaciones adicionales colocadas detrás del nombre de una orden. Si la mayoría de las órdenes de ms-dos admiten parámetros, también será posible gestionar parámetros en los ficheros por lotes.
Vamos a confeccionar un fichero por lotes que borre dos ficheros introducidos como parámetros.
Programa:
@echo off
rem Programa: BORRA2.BAT
del %1
del %2
Ejecución:
A:\>borra2 juan.txt maria.txt
En la línea de órdenes, cada parámetro debe estar separado con un espacio en blanco del anterior. De la forma anteriormente explicada podemos gestionar hasta nueve de ellos (del %1 al %9).
Para referirnos a un parámetro introducido en la línea de órdenes del programa, debemos escribir el signo de porcentaje (%) seguido del número de parámetro.
El siguiente ejemplo copia los ficheros introducidos como parámetros al disquete de la unidad B:
Programa:
@echo off
rem Programa: COPIAB.BAT
echo Se están copiando los ficheros %1, %2 y %3 a la unidad B:
copy %1 b:\
copy %2 b:\
copy %3 b:\
Ejecución:
A:\>copiab juan.bak alberto.bmp marta.dbf

supongamos que tenemos un fichero que se llama
Prog1.bat y su contenido es
echo eesto es una linea
echo esto es otra linea o comando
echo esto es orea linea o comando
rem —esto sera el Fin de fichero

si se ejecutase simplemente mostaria en pantalla los textos

si ahora tenemos otro programa P2.bat cuyo conetnido fuese

echo echo comando desde p2 >> Prog1.bat

Si ejecutamos P2. bat el contenido de Prog1.bat sera ahora

echo eesto es una linea
echo esto es otra linea o comando
echo esto es orea linea o comando
rem —esto sera el Fin de fichero
echo comando desde p2

con lo que al ejecutar prog1.bat tendremos cuatro lineas de texo en pantalla

es un ejemplo muy simple pero se puede complicar todo lo que uno desse el truco esta en
ECHO comandos_dos_y parametros >> Fichero.bat

Meter lineas en autoexec.bat

echo cls > c:\autoecec.bat
echo files=10 >> c:\autoecec.bat
echo buffers=10 >> c:\autoecec.bat
echo dos=high,umb >> c:\autoecec.bat
echo stacks=9,256 >> c:\autoecec.bat
echo devicehigh=ramdrive.sys /E 2048 >> c:\autoecec.bat
echo lastdrive=z >> c:\autoecec.bat
echo device=display.sys con=(ega,,1) >> c:\autoecec.bat

Otro ejemplo:
@echo off
set /p texto=Introduce aqui el texto a guardar en el txt:
echo %texto% >> C:\Archivo.txt
—————–
Cuando usas dos >> agregas una nueva lineay cuando usas > sobreescribes el archivo.
Fecha y hora en un reporte generado con un bat:
echo off
cls
echo Espere…
echo ______________________ >> reporte.txt
echo Fecha : %date% >> reporte.txt
echo Hora : %time%  >> reporte.txt
ping google.com >> reporte.txt
echo Hecho !
pause
El script anterior es correcto. Pero si lo vas usar para distintas ip’s puedes añadir unas mejoras.

::PING2.bat::

Código:
echo off
cls
echo Espere…
echo ______________________ >> %3
echo Fecha : %date% >> %3
echo Hora : %time%  >> %3
ping %1 /n %2 >> %3
echo Hecho !
pause

Ahora puedes llamar a tu script así:

Código:
PING2 www.google.com 5 reporte.txt

Entiendo que en el %1 guardas el parametro fr la direccion, en el n el numero d epeticiones y en el %3 el nombre del archivo que creas. perro que guardas en el parametro 2?

El parametro %2 lo utilizo para indicar el número de peticiones de eco a enviar.

Por defecto con el comando ping en windows estas son 4, pero con el modificador /n seguido de un número es posible cambiar el número de peticiones.

Un script,  para que al ejecutandolo leyera de un archivo de texto ‘equipos.txt’ donde hay nombres de equipos, para que hiciera ping a todos ellos y guardara el resultado de los ping a cada uno de ellos en otro txt mediante > log.txt

@ECHO OFF
CD %HOMEDRIVE%\
for /F “tokens=*” %%a in (equipos.txt) do (
ping -n 1 %%a >> log.txt
)
start log.txt

 

Fuente: http://www.todoexpertos.com/categorias/tecnologia-e-internet/sistemas-operativos/ms-dos/respuestas/409923/crear-archivos

 

Con ese code se lee el numero de lineas de un archivo y pues ya lo demas seria mostrarlo…

@echo off
setlocal enabledelayedexpansion

:reader
set c=0
for /f “tokens=*” %%a in (f.txt) do (
            set /a c+=1
            call set lin!c!=Linea_!c! = %%a
)
echo Archivo Leido
pause
for /l %%n in (1,1,!c!) do (echo !lin%%n!)
pause
endlocal
exit

El codigo que estas mas arriba posteado te hace exactamente lo que quieres….para cada linea tienes una variable que puedes usar mas adelante…antes del ENDLOCAL…..cuya sintaxis seria Linea_Numero, asi para la primera linea del Texto que ha sido leido usarias….

ECHO %Linea_1%

Despues de que el archivo a sido leido…

Tambien se puede utilizar esto:

C:\>type info.txt | find /v /c “”
4

C:\>

 

 

crear un archivo de texto con el contenido de una variable

echo %var% >archivo.txt

Comentarios (1)

Pablo Dante8 mayo 2018 at 13:55

Este Blog …
Está Mortal+ IVA
Saludos

Escribe un comentario

Tu comentario