Autor Tema: Variable en un archivo de texto  (Leído 10397 veces)

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

Desconectado Esgrimidor

  • MiembrosReales
  • *
  • Mensajes: 32
Variable en un archivo de texto
« : septiembre 25, 2009, 03:41:07 pm »
Variable en un archivo de texto

Tengo un archivo de texto : micontrol.txt

que tiene en la primera línea : 125.09

ese es el valor de una variable.

Esa variable va en una ruta : X:\Mis documentos\125.09\125.09.proyecto.doc

Tengo que lanzar un programita bat o vbs desde varios sitios y me gustaría saber cómo puedo "sacar" la variable con el script y proponerla en la ruta.....

Gracias

 :offtopic:

Desconectado pop486

  • Sv Jr.
  • **
  • Mensajes: 51
Re:Variable en un archivo de texto
« Respuesta #1 : septiembre 25, 2009, 04:50:35 pm »
Código: [Seleccionar]
Dim fso, f1, ts, s
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("C:\micontrol.txt", ForReading)
s = ts.ReadLine
Msgbox s
ts.Close

este codigo te sirve para leer una linea de un archivo de texto...espero que te sirva...

el siguiente es el codigo para un archivo BAT
Código: [Seleccionar]
@echo off
setlocal enabledelayedexpansion

:reader
set c=0
for /f "tokens=*" %%a in (C:\micontrol.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

este si te lee todas las filas no se si te sirva eso...cualquier cosa me avisas...
« Última Modificación: septiembre 25, 2009, 05:02:28 pm por pop486 »

Desconectado Esgrimidor

  • MiembrosReales
  • *
  • Mensajes: 32
Re:Variable en un archivo de texto
« Respuesta #2 : septiembre 25, 2009, 05:13:22 pm »
Voy a probar con el código :

Dim fso, f1, ts, s
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set ts = fso.OpenTextFile("Y:\GABINETE/PROYECTOS/MODELOS/CONTROL\MiControl.txt", ForReading)
s = ts.ReadLine
Msgbox s
ts.Close

De todas formas creo que no basta con leer, sino pasar dicha variable a la ruta.
En el segundo script no aparece la ruta, luego el script no hará lo que se pretende.


Desconectado Esgrimidor

  • MiembrosReales
  • *
  • Mensajes: 32
Re:Variable en un archivo de texto
« Respuesta #3 : septiembre 25, 2009, 05:18:36 pm »
El primer código funciona estupendamente mostrando la variable que contiene la primera línea del archivo de texto.

¿ Por qué no completas el script para que escriba la variable en la ruta con un archivo vbs más completo ? De esa manera me serviría plenamente.

En cuanto al segundo te propongo este otro :
Lo he probado y me funciona :

@echo off & setlocal ENABLEEXTENSIONS
set "first="
for /f "delims=" %%a in ('more ^< Y:\GABINETE/PROYECTOS/MODELOS/CONTROL\MiControl.txt') do (
  if not defined first set first=%%a
)
rem "%programfiles%\Microsoft Office\Office10\WINWORD.EXE" /t "Y:\GABINETE\PROYECTOS\%varexpediente%\%varexpediente%.Proyecto.doc" /mmacro3
echo/%first%
"%programfiles%\Microsoft Office\Office10\WINWORD.EXE" /t "Y:\GABINETE\PROYECTOS\%first%\%first%.Proyecto.doc" /mmacro3

Como no tengo ni idea de programación no se porqué me funciona.

Hay un par de líneas de comentario.
mmacro3 es una macro previamente definida en word que me lleva a un marcador del documento.

El efecto es que el documento se abre por el expediente que queremos y por el marcador o favorito que hayamos previamente designado.



Desconectado pop486

  • Sv Jr.
  • **
  • Mensajes: 51
Re:Variable en un archivo de texto
« Respuesta #4 : septiembre 25, 2009, 05:49:04 pm »
mmmm lo que pasa es que no es tan facil...necesito saber un poco mas de informacion....lo que creo que necesitas es enviar un dato almacenado en un archivo de texto como variable a un BAT que llama a Word pero dentro de el archivo parece que hay una macro que recibe el parametro...

tendrias que ver que parametros son los que recibe el BAT...aunque hay varias cosas en el codigo que posteaste que no entiendo...tedria que averiguar mas....

por cualquier cosa te dejo este codigo:
Código: [Seleccionar]
if %os%==%1 goto correcto
goto fin
:correcto
sip
pause
:fin
nop
pause

es un ejemplo de parametros en un BAT

lo guardas en el C:(puede ser en otro lado) y lo llamas desde
inicio > Ejecutar
por ejemplo:
"C:Verificar.bat" Windows_NT

el bat es para verificar el sistema operativo que tenes....

Desconectado Esgrimidor

  • MiembrosReales
  • *
  • Mensajes: 32
Re:Variable en un archivo de texto
« Respuesta #5 : septiembre 25, 2009, 06:05:29 pm »
Simplifiquemos.
Remito a mi escrito inicial.

Necesito un script para el fin antedicho.
Tu vbs para presentar la variable contenida en el archivo de texto funciona.

Mi bat para proponer dicha variable como parte del nombre de la ruta funciona y se ejecuta bien.


¿ Puedes hacer un vbs que haga lo mismo que el bat ?

Gracias

Desconectado pop486

  • Sv Jr.
  • **
  • Mensajes: 51
Re:Variable en un archivo de texto
« Respuesta #6 : septiembre 25, 2009, 06:31:46 pm »
dejame ver si logro algo...

Desconectado Esgrimidor

  • MiembrosReales
  • *
  • Mensajes: 32
Re:Variable en un archivo de texto
« Respuesta #7 : septiembre 26, 2009, 10:30:49 am »
Gracias pop.
Ya pondré yo algo si lo logro.

Ahora, como primicia, te pongo en lenguaje AutoHotKey. He quedado impresionado del buen funcionamiento y de la elegancia del código.

FileReadLine, OutputVar, Y:\GABINETE\PROYECTOS\MODELOS\CONTROL\MiControl.txt, 1
Run, "%programfiles%\Microsoft Office\Office10\WINWORD.EXE" /t "Y:\GABINETE\PROYECTOS\%outputvar%\%outputvar%.Proyecto.doc" /mmacro3


con el script anterior logro sacar el contenido de la primera línea del archivo MiControl.txt y proponerla como la variable OutputVar , que utilizo en la ruta ....

Funciona muy bien.