SCRIPT modificar txt

28/09/2007 - 12:57 por ZIDAC | Informe spam
Hola, necesito hacer mediante un script lo siguiente:
1) parar un servicio
2) abrir un txt y modificar una linea
3) guardar los cambios
4) iniciar el servicio

Es posible?
Cómo se hace esto?

GRACIAS,
ZIDAC

Preguntas similare

Leer las respuestas

#1 ZIDAC
28/09/2007 - 14:21 | Informe spam
Es siempre el mismo archivo y la misma línea.

En esa línea pone lo siguiente:
Tiempo`
debo cambiarlo por:
Tiempo=1

Gracias,
ZIDAC
Respuesta Responder a este mensaje
#2 Fernando Reyes [MS MVP]
28/09/2007 - 16:27 | Informe spam
Cierto, se me olvidó esa posibilidad.

Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"Ramon Jiménez" escribió en el mensaje
de noticias news:
o Utilizar Expresiones regulares...para hacer un Find/Replace

aquí dejo algo que hice hace ya unos años...


"Fernando Reyes [MS MVP]"
wrote in message
news:
Sí es posible, lo más difícil me parece lo modificar una línea, si no
preparas de alguna manera la jugada. Para parar un servicio puedes usar un
objeto WshShell y su método Run. Pongamos que quieres para el servicio
Cola de impresion. Si lo hicieses desde línea de comandos, lo harías con
NET STOP Spooler o NET STOP "Cola de impresión". Con VBScript y un objeto
WshShell lo harías así:

Dim obj_SH

Set obj_SH = CreateObject("WScript.Shell")
obj_SH.Run("cmd /c NET STOP Spooler",0,True)

Como ves, el método Run recibe tres parámetros:

1.. Lo que se debe ejecutar. En este caso se ejecuta una ventana de línea
de comandos (cmd.exe) de forma que se cierre una vez se termine el comando
que se lanza en ella (/C) y el comando que se lanza es NET STOP Spooler.
2.. Cómo se debe comportar la ventana que se ejecuta. En este caso el 0
significa que debe permanecer oculta.
3.. Ejecución síncrona o asíncrona, esto es, si el script esperará a que
se termine la ejecución o continuará con la siguiente línea. True
significa que esperará.
Más información sobre el método Run del objeto WshShell la tienes aquí:

Run Method (Windows Script Host)
http://msdn2.microsoft.com/en-us/li...k67ky.aspx

Ahora viene lo gordo...

Puedes abrir un fichero de texto usando un objeto FileSystemObject y
manipular ese fichero con un objeto TextStream. El problema es cómo vamos
a identificar la línea que quieres modificar, si modificas la línea
entera, si lo modificado sigue un patrón determinado, etc. Deberíamos
saber qué quieres hacer en concreto para saber si se podrá y cómo hacerlo.
Funciones como Split, Replace y InStr y Mid, Left y Right pueden ser muy
útiles para esta tarea. La forma sería abrir el fichero, cargar su
contenido íntegro en una variable y cerrarlo; posteriormenete hacemos las
maniobras necesarias para modificar el texto que tenemos en la variable y
creamos un objeto TextStream con el mismo nombre y ruta de fichero que
sobreescriba el original y que tenga de contenido el texto modificado. Por
fin, volveríamos a usar el objeto WshShell para iniciar el servicio con
NET START.

Así que si explicas cómo es esa modificación...




Un saludo
Fernando Reyes [MS MVP]
MCSE Windows 2000 / 2003
MCSA Windows Server 2003
http://freyes.svetlian.com
http://urpiano.wordpress.com
RSS: http://urpiano.wordpress.com/feed
freyes.champú@champú.mvps.org
(Aclárate la cabeza si quieres escribirme)


"ZIDAC" escribió en el mensaje de
noticias news:
Hola, necesito hacer mediante un script lo siguiente:
1) parar un servicio
2) abrir un txt y modificar una linea
3) guardar los cambios
4) iniciar el servicio

Es posible?
Cómo se hace esto?

GRACIAS,
ZIDAC





Respuesta Responder a este mensaje
#3 ZIDAC
28/09/2007 - 18:57 | Informe spam
No veo nada
¿Dónde está eso que hicieste hace años?
Respuesta Responder a este mensaje
#4 Ramon Jiménez
28/09/2007 - 21:33 | Informe spam
es un adjunto

'+--+
'| Copyright (C) 1997-2004 F. Hoffmann-La Roche Ltd
|
'+--+--+
'| File: | FindReplace.VBS
|
'| Purpose: | Find all ocurences of a String1 in a given file and
replace |
'| | it with String 2
|
'+--+--+
'| Author: | Ramon Jimenez
|
'| Date: | Nov 25, 2004
|
'+--+
'| Parameters | Filename, StrtoReplace, StrReplacement
|
'+--+
'| Requirements | none
|
'+--+--+
'| Version | 1.0
|
'+--+--+
'| File History:
|
'|
+-+-++
|
'| Name: Ramon Jimenez
|
'| Date: Nov 25, 2004
|
'| Desc: Creation and version 1.0
|
'|
+-+-++
|
'+--+
Option Explicit
CONST ForReading = 1
CONST ForWriting = 2

'Example
FindAndReplace ".\\TEST.TXT", "Cadena1", "Cadena2"

Sub FindAndReplace (StrFilename, strPattern, StrReplace)
Dim oFSO, oFile, oRegExp, strData

' We open the File in ReadOnly mode and read it completely storing the
'content into a variable. Then close the file

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile(strFileName, ForReading)
strData = oFile.ReadAll
oFile.Close

' Once we have the variable we search the String we want to replace
' using a Regular Expression type variable. Then we use a method from
' this class to replace all ocurrences

Set oRegexp = New Regexp
oRegexp.Pattern = strPattern
oRegexp.Global = TRUE
oRegexp.IgnoreCase = True
strData = oRegexp.Replace(strData, strReplace)

' We open again the file in Write mode and dump the content of the variable
' into the file
Set oFile = oFSO.OpenTextFile(strFileName, ForWriting)
oFile.Write strData
oFile.Close
End Sub
"ZIDAC" wrote in message
news:
No veo nada
¿Dónde está eso que hicieste hace años?


Respuesta Responder a este mensaje
#5 ZIDAC
29/09/2007 - 23:37 | Informe spam
La caña, perfecto. Gracias, me ha funcionado de maravilla.

Ahora me surge una inquietud, ya que me gustaría aprender:

Qué lenguaje es este, Visual Basic?
Algún enlace o tutorial para aprender a realizar scripts?
Algún programa en concreto para editarlos o se hace a pelo en un txt?

Gracias,
ZIDAC
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida