Ms-Dos - Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

 
Vista:
sin imagen de perfil

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por pedro (2 intervenciones) el 10/12/2015 18:18:27
Estimados es mi primera pregunta en el foro y espero puedan ayudarme y tambien luego yo aportar
tengo un archivo txt con datos y tengo un bat donde quiere traer las lineas del txt y guardarlas en variables ej

archivo txt
200
43
78
100
2

archivo bat

1
2
3
4
5
var1=200
var 2=43
var 3=78
var 4=100
var 5 =2

el txt se crea de otro bat asi que sus lineas son indeterminadas cuando puede hacerlo desde ya muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de A.H.H.

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por A.H.H. (216 intervenciones) el 10/12/2015 21:23:43
Hola suponiendo que tenemos en un archivo de texto llamado archivo.txt las lineas que has expuesto antes:

200
43
78
100
2

el siguiente ejemplo de codigo va metiendo cada linea de texto dentro de cada variable para ello utilizo un contador que va sumando 1 al lado de la palabra var ejemplo var 1, var2, var3....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@echo off
set contador=0
set var=0
 
for /f %%a in (archivo.txt) do set linea=%%a&call :cuenta
pause
goto:eof
 
:cuenta
set /A contador +=1
set var%contador%=%linea%
echo var%contador%=%linea%
 
goto:eof


NOTA: la linea
1
echo var%contador%=%linea%
de la etiqueta :cuenta solo es para mostrar el resultado, la que va metiendo la linea dentro de su correspondiente variable es la linea del set....
espero te sirva salu2......
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por pedro (2 intervenciones) el 11/12/2015 13:54:34
muchas, pero muchas gracias me salvaste estaba pegado con esto te pasaste !!!! me sirvio mucho !! es que soy nuevo en este tipo de programacion !! nuevamente gracias.!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por Cris (2 intervenciones) el 14/04/2020 12:27:02
Hola. Yo he estado buscando algo así durante mucho tiempo. Quería establecer unas contraseñas para acceder a mi pendrive, y tengo un .bat que pide unas contraseñas para acceder a un menu que muestra los archivos ocultos... etc. El problema era que al editar el bat se veían las contraseñas. He intentado hacer esto, he hecho exactamente lo mismo, pero solo lee la primera linea o solo establece una variable, me gustaría averiguar como hacerlo bien.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
set key=0
set contador=0
 
for /f %%a in (Password.txt) do set linea=%%a&call :passwords
pause>NUL
goto :follow
  :passwords
  set /a contador +=1
  set key%contador%=%linea%
  echo key%contador%=%linea%
 
  goto :follow
 
:follow
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H.

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por A.H.H. (216 intervenciones) el 14/04/2020 14:18:56
HOLA si solo es para una contraseña puedes usar algo asi:
en un archivo txt llamado Password.tx pones la contraseña y en el prueba.bat copia y pega este codigo de prueba,,el txt y el bat en el mismo directorio al ejecutar el bat claro....

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
@echo off
:inicio
cls
 
set linea=
set pasword=
 
set /p pasword="introduce pasword: "
for /f %%a in (Password.txt) do (set linea=%%a&call :comprobar)
goto:eof
 
:comprobar
if "%pasword%" NEQ "%linea%" (echo el pasword no es correcto!!
pause
goto:inicio
) else (
echo pasword  correcto!!
pause
)

no se si quieres algo asi, en el bloque else pones el resto de comandos para acceder al pendrive........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por Cris (2 intervenciones) el 14/04/2020 15:10:23
Muchas gracias, creo q con esto me vale, pero si fuesen varias contraseñas dentro del mismo txt, (como en el primer comentario) se haría mas o menos igual, no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de A.H.H.

Tengo un archivo txt con datos y tengo un bat para traer las lineas y guardarlas en variables

Publicado por A.H.H. (216 intervenciones) el 14/04/2020 16:11:57
Hola el ejemplo de arriba de este hilo es para meter el contenido de cada linea dentro de una variable nueva que se crea con un contador..
var1=linea1 del texto
var2=linea2 del texto
var3=linea3 del texto

ejecuta este ejemplo y lo ves en pantalla:
1
2
3
4
5
6
7
8
9
10
11
12
@echo off
set contador=0
set var=0
 
for /f %%a in (Password.txt) do set linea=%%a&call :cuenta
pause
goto:eof
 
:cuenta
set /A contador +=1
set pasword%contador%=%linea%
echo pasword%contador%=%linea%

esto era para que vieras por pantalla que de verdad esta creando las variables con sus contenidos
despues quitas la ultima linea
1
echo pasword%contador%=%linea%
para que no se vea en pantalla y haces las comprobaciones


if "%pasword1%neq......
if "%pasword2%" neq........
if "%pasword3%" EQU......


DEPENDE DE LO QUE VAYAS HACER EN TU PROGRAMA.........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar